【发布时间】:2017-10-30 23:07:51
【问题描述】:
我正在尝试检查一个数字是否为整数 (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);
还给我 1。
程序的其余部分有效。只是被这件小事卡住了。
【问题讨论】:
-
33.3 将被读取为整数 33。
-
scanf的返回会告诉你是否成功 -
在 stackoverflow 上发布之前,您似乎没有在 google 上进行过搜索...请在询问之前先做一些背景知识