我编写了一个程序,读取一个整数、一个浮点数和一个字符,然后将其格式化输出。但是,它不太有效,因为如果我启动程序,我无法读取任何字符。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int a;
float b;
char c;
scanf("%d", &a);
scanf("%f", &b);
scanf("%s", &c);
printf("%-14s: %010d\n", "Ganzzahlen", a);
printf("%-14s: %5.5f\n", "Gleitkommazahl", b);
printf("%-14s: %c\n", "Zeichen", c);
return 0;
}
如注释中所述,您希望为类型使用正确的格式说明符。对于单个字符,正确的说明符是
%c
。
但是,这将读取 any 字符,因此使用
" %c" with a leading space so that
scanf` 会忽略字符之前的前导空格。