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)这个语句只是进行了累加,而没有判断条件,是在后面通过进行条件去终止条件的。