执行 while 循环以请求正输入且小于 10
do while loop to ask for positive input and less than 10
我是 C 的新手,有人要求我做一个循环,要求用户输入一个数字,然后检查该数字是否为正且小于 10。但是,我不知道有什么问题下面的代码。非常感谢任何帮助。
int main(){
int a;
do{
printf("Enter a positive number: ");
scanf("%i", &a);
}while((a <= 0) && (a >= 10));
printf("%i is positive and less than 10", a);
return 0;
}
有两个问题需要解决:
- 您没有检查
scanf()
是否成功。 I/O 很脆弱,可能会失败。
- 条件错误,
&&
的两个分支不能同时为真,因此“and”是错误的运算符。您的意思是 ||
(布尔“或”)。
我是 C 的新手,有人要求我做一个循环,要求用户输入一个数字,然后检查该数字是否为正且小于 10。但是,我不知道有什么问题下面的代码。非常感谢任何帮助。
int main(){
int a;
do{
printf("Enter a positive number: ");
scanf("%i", &a);
}while((a <= 0) && (a >= 10));
printf("%i is positive and less than 10", a);
return 0;
}
有两个问题需要解决:
- 您没有检查
scanf()
是否成功。 I/O 很脆弱,可能会失败。 - 条件错误,
&&
的两个分支不能同时为真,因此“and”是错误的运算符。您的意思是||
(布尔“或”)。