我试图弄清楚用什么语句让用户输入1到10之间的数字。
这是我到目前为止所拥有的。
int a;
printf("Enter a number between 1 and 10: \n);
scanf("%d", &a);
答案 0 :(得分:1)
int input;
while (true){
scanf("%d",&input);
if (input>=1 && input<=10){
// process with your input then use break to end the while loop
}
else{
printf("Wrong input! try Again.");
continue;
}
}
答案 1 :(得分:0)
1到10之间的数字对吗?所以第一阶段你必须验证输入是否是整数然后你将检查范围,
以下代码是我提到的
#define MAX_RANGE 10
int input;
if (scanf("%d",&input) != 1)
{
printf ("Really bad input please enter integer number like in range 1 - 10\n");
}
现在处于第二阶段如下
if (input < 1 || input > MAX_RANGE) {
printf("It's an integer but out of range error\n");
}
您也可以使用while..loop
,如下所示
int input;
while (scanf("%d", &input) == 1 && input > 1 && input < 10)
{
// process your input
}
答案 2 :(得分:0)
为什么不使用do .. while
循环?
int a;
do {
printf("Enter a number between 1 and 10: \n");
scanf("%d", &a);
} while (a < 1 || a > 10);