主题:如何让scanf()函数只输入数字?
jokers
[专家分:0] 发布于 2011-03-13 18:42:00
[color=0000FF][size=4]我的意思是用scanf函数提示用户输入,如果用户输入的数不符合规定,则重新提醒用户输入,直到输入的数符合规定为止。(例如不断提醒用户输入一个整数,直到输入一个整数后才执行后面的语句),能做到吗??[/size][/color]
回复列表 (共2个回复)
沙发
leftcopychenhx [专家分:20] 发布于 2011-03-13 20:48:00
可不可以用%c然后判断,如果不是整数则继续;最后将读入的转成int类型呢?
板凳
aiby [专家分:15340] 发布于 2011-03-14 20:34:00
#include <stdio.h>
int main(void)
{
int a;
while (scanf("%d", &a) != 1) {
printf("Input errror,try again:");
for (int ch; (ch = getchar())!='\n' && ch != EOF;)
continue;
}
printf("%d\n", a);
return 0;
}
我来回复