c语言如果输入了错误的号码,请再次询问用户

c语言如果输入了错误的号码,请再次询问用户,c,loops,C,Loops,如果用户输入的值小于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", &mi

如果用户输入的值小于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循环是最好的选择,还是应该考虑使用另一种类型的循环


正如我所更正的,深思熟虑的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循环时,循环体位于 在某种情况下,{body goes here}

再次编辑后,应作者要求:

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。

我认为您需要阅读更多关于这两种变体的信息。您使用的是类似于a的for,您需要正确格式化代码。此外,还有一个额外的偏执和分号,在开始的时候,它是有害的和无用的,看起来你混淆了一个do。。。while和while循环。我更新了我的代码问题是如果我输入一个大于10的数字,它会问我,请输入一个大于或等于10的数字如果它小于10,它会运行循环,请永远输入一个大于或等于10的数字。我想要的条件是,用户租用该数字,使其大于或等于10,然后继续程序的其余部分。几乎在那里,问题是,如果该数字大于或等于10,则在程序继续之前,我必须输入该值两次。它要求最小数字依次停止:然后它要求输入一个大于或等于10的数字,如果它小于10,它继续要求输入一个大于或等于10的数字,这就是我想要的。对不起,我无法理解你在这里想说什么。大于10?int min_number后需要读取更多数据;轮流停止打印最小值:;扫描编号%d,最小编号(&M),大小查找;当最小值小于10时,{printf\u请输入大于或等于10的数字\n\n;scanf\u s%d,&min\u number;};你是这个意思吗?上面的代码完全符合你的要求。在给出最小数字后,它将询问数字,如果数字大于10,它将停止循环,如果数字小于10,它将询问数字,直到它等于或大于10。