请问为什么x的值为2,却只会输出1呢? 是与cout输出流以及自增运算符++有关系吗?
x++是先输出后加一,所以打印的就是1,打印完之后加一了
++运算符的优先级比<<高,因此
++
<<
cout << x++ << endl;
相当于
(cout << (x++)) << endl;
x++是后缀++,其语义是表达式x++的值等于x的原始值,而x的值自增1因此上述代码片段运行后,显示的结果为1(x的原始值),但是x的值为2(x自增1)
x++
x