今天在做题的时候,发现了一个自己一直以来的错误的认知顺序,后来去实践了一下
就打算总结一下:
for循环在执行的过程中:
for(条件①;条件②;条件③){
循环体④
}
第一次:先执行1,2,4
然后下一次循环:一上来就是先执行自增或自减运算,然后再执行判断,如果符合判断语句,也就是3->2->4
代码:
int main() {
int a = 1, b = 2;
for (; a < 8; a++) {
b += a;
a += 2;
}
printf("%d,%d\n", a, b);
return 0;
}
执行结果:
这里当时我因为先执行的判断然后再自增导致结果是错误的(上面的是VS上正确的运行结果)
希望大家都可以避坑!!!