我试图检查数字是否为整数(num)。
在main() -
中int num, input;
printf("Please enter an integer greater than 1:\n");
input = scanf("%d",&num);
if ( input != 1 ){
printf("Invalid input!\n");
return 1;
}
但是当输入不是整数(例如33.3)时,"输入"的值仍然是1。
printf("%d ", input);
让我回来了。
该计划的其余部分有效。只是陷入了这件小事。
答案 0 :(得分:1)
您需要将输入读入char[]
,(因此,不需要scanf()
,您可以执行gets()
或类似的操作,然后检查值使用isdigit()
逐个数字地自己。