c++求指点这是为什么

img

img


为什么不打else不会有输出,打了输出的结果是2

加了else能输出是因为执行了else中的输出语句。
因为a初始值为1,a++是后自增,先使用a,再加1.
1不大于1,不满足if判断条件,并执行了+1,变为2
执行else语句,由于a--是后自减,先使用,再减1.
先输出2,并执行了-1。

if(a++>1)
  cout<<a;
else
  cout<<a--;

很简单,不满足条件就不会有输出,你要是吧a++换成++a就不用else也能输出了,a++与a++的区别在于一个先运算再加一,一个是先加1再运算