c do while循环不起作用?

tom*_*tom 1 c

do
{
    printf("Enter number (0-6): ", "");
    scanf("%d", &Num);
}while(Num >= 0 && Num <=6);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

SLa*_*aks 5

你误解了你的循环.

您的代码如下所示:

东西虽然(只要)num是大于(或等于)零且num小于(或等于)六

C编译器正在监听你的代码并完全按照你的意思(错误地)告诉它,只要数字在0到6之间,就会保持循环.

你实际上希望它保持循环,只要数字不在 0和6之间,所以你实际上希望代码看起来像这样:

的东西虽然num小于零或者num超过 6

一旦用户输入一个数字, 0和6之间,该代码将看到,num既不小于0也不和超过6,所以它会停止循环.(因为条件是假的)

你应该能够自己编写代码.
提示:>意思是"超过",<意思是"小于",||意思是"或".

  • 你的意思是`||`? (3认同)