02 对for循环的理解

02 对for循环的理解

​ 理解下面两个代码运行之后的区别:

int main(){
    int a, x;
    for(a = 0, x = 0; a <= 1 && ! x ++; a ++){
        a ++;
    }
    cout << a << x << endl;
    return 0;
}
int main(){
    int a, x;
    for(a = 0, x = 0; a <= 1 && ! x ++; ){
        a ++;
    }
    cout << a << x << endl;
    return 0;
}

解析:

​ 首先要明确一个问题,那就是运行for循环的顺序:① 执行init-statement; ② 判断condition; ③ condition为真执行循环体;④ 最后执行expression。

答案:21; 12