在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。因此可以根據返回值來判斷輸入的類型。