如果输入的值小于10,我试图让用户再次输入该号码 我确定问题在于while语句。 这就是我所拥有的
printf_s("Enter the player first name: ");
scanf_s("%s", names[i], 25); //enters name and creates a newline <enter key>//
printf_s("Minimum number to stop in a turn: ");
scanf_s("%d", &min_number, sizeof(int));
do {
printf_s("please enter a number greater or egual to 10");
} while (min_number <= 10);
scanf_s("%d ", &min_number);
printf_s("please enter a number greater or equal to 10\n\n");
是do while循环的最佳选择,或者我应该看看使用其他类型的循环
答案 0 :(得分:0)
正如我纠正的那样,scanf返回成功分配的接收参数的数量。 这是一个固定版本:
void main(){
int num = 0;
while(num <=10){
scanf("%d ", &num);
printf_s("please enter a number greater or equal to 10\n\n");
}
}
在创作之后,根据他的要求编辑了代码:
do {
printf_s("please enter a number greater or egual to 10\n\n");
scanf_s("%d", &min_number);
} while (min_number < 10);
当执行do / while循环时,循环体位于 执行 {正文在此处} ,而(某些条件);。
在另一次编辑后,根据作者请求:
printf_s("Minimum number to stop in a turn: ");
scanf_s("%d", &min_number, sizeof(int));
while(min_number < 10){
printf_s("please enter a number greater or egual to 10\n\n");
scanf_s("%d", &min_number);
}
这将执行以下操作,它将要求“转弯时停止的最小数量:”如果它大于或等于10,它将在循环后继续。如果不是,它将澄清“请输入一个更大的数字或10到10的数字”,并将收到另一个输入。它将循环,直到它接收到更大或最终为10。