在C中检查输入是否为整数
我想检查一个数字是否是整数 大体上—在C中检查输入是否为整数,c,debugging,C,Debugging,我想检查一个数字是否是整数 大体上— 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时,例如,输入
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
程序的其余部分工作正常。只是在这件小事上被卡住了。您需要将输入读入一个字符[],因此,无需扫描,您只需执行GET或类似操作,然后自己逐个数字检查值,使用isdigit。33.3将被读取为整数33。返回的scanf将告诉您是否成功。在stackoverflow上发布此信息之前,您似乎没有在google上进行过搜索……请在询问之前做一些背景信息