【发布时间】:2020-06-28 01:42:01
【问题描述】:
我希望我的函数在我的变量不是整数时读取它。我的老师教我们使用var=scanf("%d", &x) 的形式,如果它是一个字符串,它将等于零。但是,当我输入一个字符串时,while 循环会重复而不要求我重新输入一个值。
这是我的算法:
int returnValue(int a, int b)
{
int x, r;
do{
printf("Enter a value between %d and %d.\n", a, b);
r=scanf("%d", &x);
}while(x<a || x > b || r==0);
return x;
}
如果有人对这个问题有任何想法,那就太好了。
【问题讨论】:
-
您的实际问题是“如何读取一行输入并解析它以查看它是否包含整数?”
标签: c loops while-loop integer scanf