cpp面试宝典

the fourth day

小白在面试宝典上的游荡

下面开始今日说法:比较两端代码

#include 

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

2
1
分析:
初始化a=0,x=0,满足a<=1,且x的非为1,所以符合循环条件,x自加为1,a自加为1,进入循环体a加为2,已经不符合小于等于1的条件,所以后面的“&&”后的“!x++”就不执行了,x还为1,不执行循环体。

#include 

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

1
2
分析:
第一次进入循环体后,a++后,a为1,符合小于等于1的条件,所以“!x++”x++被执行,x现在为1,x的非为0,不符合循环条件,不执行循环体,但x++依然执行,自增为2.

成长:了解for循环的表达方式,注意分号标注,执行循环体以及x++的注意事项,打字速度提升

你可能感兴趣的:(c++)