什么是c中的嵌套循环?

什么是c中的嵌套循环?,c,nested-loops,C,Nested Loops,请任何人给我解释一下,因为我不能理解这个程序正确的变量。此程序无法在我的编译器中完全运行 这是一个简单的数学求和测验,要求用户求1到10之间相同数字的和 预期产出为: 什么是1+1? 在外循环的每一次迭代中,在像这样提问之后,程序等待用户输入。当用户输入一个数字时,它会检查与输入值的和。如果总和正确,则通知用户答案正确。然后对2重复同样的步骤。即 什么是2+2? 如果用户输入不正确,用户将有三次机会输入正确答案。在用户连续3次回答错误后,将向用户显示真实答案,然后外部循环向下一个数字移动。 右变

请任何人给我解释一下,因为我不能理解这个程序正确的变量。此程序无法在我的编译器中完全运行


这是一个简单的数学求和测验,要求用户求1到10之间相同数字的和

预期产出为: 什么是1+1? 在外循环的每一次迭代中,在像这样提问之后,程序等待用户输入。当用户输入一个数字时,它会检查与输入值的和。如果总和正确,则通知用户答案正确。然后对2重复同样的步骤。即 什么是2+2? 如果用户输入不正确,用户将有三次机会输入正确答案。在用户连续3次回答错误后,将向用户显示真实答案,然后外部循环向下一个数字移动。 右变量用于此处的布尔值 即1=真,0=假。
当用户回答错误时,正确的变量将设置为false。

不太确定您在问什么,但您的第二次扫描需要包括符号、、scanf%d、&answer;此程序无法在我的编译器中完全运行。如果你得到一个编译错误,那么请显示它。这个程序输出什么是1+1?从1到10。如果答案是正确的,则打印正确。但是如果答案是错误的,则给他3次机会。但是在else部分,我们将right=0。使用表示false的布尔术语。但是在内部for循环中,条件是chances。在else部分,将值右赋值为0。这意味着right是false。但是对于循环内部,条件部分是chances,基本上right变量用作循环中的反向布尔条件。分配right=0表示right为false。条件!right将确保仅当right保持false时循环才会迭代。这意味着如果在任何循环迭代中,右边的值变为1 true,然后循环条件将被与假值and,这将立即中断循环,并且不会给出下一次提供另一个答案的迭代机会。谢谢你的评论。你几乎90%清除了我的查询。但是我有一个问题,我们将其赋值为right=0。这意味着假。但是在第二个for循环条件部分!正确的意思是逻辑上不错误。所以!right=非FalseTreal。既然我们将right=0指定为false。那么如何才能正确保持为false。感谢您的时间。首先!right首先计算right的值,该值为false,然后它反转条件!这是真的。这并不意味着权利的价值会因为做而改变!右,因为它未分配给右变量。Right保留其值,直到为其分配另一个值Right=1。其次,只有当right为false时,内部循环才会继续运行。因为在循环条件下!权利是强加的。如果正确变成1,那么!右将使循环条件为假,内部循环将中断。因此,循环将继续运行,直到right保持为false
#include<stdio.h>

int main(void)
{
    int answer, count, chances, right;

    for(count=1; count<11; count++){
        printf("What is %d + %d?", count,count);
        scanf("%d", &answer);

        if(answer == count+count) printf("Right!\n");
        else{
            printf("Sorry, you'r wrong.\n");
            printf("Try again.\n");
            right = 0;

            for(chances=0; chances<3 && !right; chances++){
                printf("What is %d + %d?", count, count);
                scanf("%d", answer);

                if(answer == count+count){
                    printf("Right!\n");
                    right = 1;
                }
            }
            if(!right)
                printf("The answer is %d.\n", count + count);
        }
    }

    return 0;
}