About the C language for the statement of some small knowledge

There are ## some small knowledge of C language for statement

 for (i = 1;i<=4;i++) {
        scanf("%d", &x);
        if (x != result) {
            if (i == 4) {
                if (c == 0) {
                    printf("三次回答错误,正确答案是%d,请回答下一题\n", a + b);
                }
                else {
                    printf("三次回答错误,正确答案是%d,请回答下一题\n", a - b);
                }
                return 0;
            }
            printf("回答错误,请重新计算并输入结果:");
   printf("%d\n",i);
        }
        else {
            switch (i) {
            case 2:
                grade += 10;
                break;
            case 3:
                grade += 7;
                break;
            case 4:
                grade += 5;
                break;
            default:
                grade += 0;
                break;
            }
            return 0;
        }
    }
    return 0;
}


这个问题我当时也很懵逼,最后一步一步跟踪变量i的值才发现这个这个语句是相当于
for(i=1;i<=4;i++)这个循环既有累加,又有退出循环的条件。
而for(i=1;i++;i<=3)这个语句只是进行了累加,而没有判断条件,是在后面通过进行条件去终止条件的。
Published 25 original articles · won praise 3 · Views 519

Guess you like

Origin blog.csdn.net/qq_44045101/article/details/90761060