求助:一段代码看不懂
第一段:
程序代码:#include <iostream>
using namespace std;
int main()
{
int a,x;
for(a = 0,x=0;a<=1 &&!x++;a++)
{
a++;
}
cout << a << x << endl;
return 0;
}第二段
程序代码:#include <iostream>
using namespace std;
int main()
{
int a,x;
for(a = 0,x=0;a<=1 &&!x++;)
{
a++;
}
cout << a << x << endl;
return 0;
}第一段:初始化定义a=0,x=0;a小于等于1,x的非为1;符合循环条件,x++后x增为1,进入循环体a++,a自增为1,然后再执行循环体的a++,a就变成2了。然后a = 2;x = 1;第二段:初始化定义a=0,x=0;a小于等于1,x的非为1;符合循环条件,x++后x增为1,然后执行循环体里面的a++,a就变成了1,接下来书里说a=1满足执行条件,所以&&后面的!x++被执行,!x=0,所以不执行循环体,但是x++依然执行,自增为2.我主要是第二段代码中关于x++部分的第二次循环不理解。请高手指教!这是程序猿面试宝典上面的题目,觉得自己看书看的好不认真,,




