求助:一段代码看不懂
第一段:程序代码:
#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++部分的第二次循环不理解。请高手指教!这是程序猿面试宝典上面的题目,觉得自己看书看的好不认真,,