在C语言中,可以使用scanf函数来读取并判断输入的类型。下面是一些常见的判断输入类型的方法:
int num;
if (scanf("%d", &num) == 1) {
printf("输入的是整数\n");
} else {
printf("输入的不是整数\n");
}
float num;
if (scanf("%f", &num) == 1) {
printf("输入的是浮点数\n");
} else {
printf("输入的不是浮点数\n");
}
char ch;
if (scanf(" %c", &ch) == 1) {
printf("输入的是字符\n");
} else {
printf("输入的不是字符\n");
}
注意在读取字符时的格式字符串前面加一个空格,以消耗掉之前的换行符。
char str[100];
if (scanf("%s", str) == 1) {
printf("输入的是字符串\n");
} else {
printf("输入的不是字符串\n");
}
使用%s格式字符串可以读取一个以空格分隔的字符串。
需要注意的是,scanf函数在读取输入时,会按照给定的格式字符串进行匹配,如果匹配成功则返回1,否则返回0或EOF。因此可以根据返回值来判断输入的类型。