是算术运算符,有前缀(++i)和后缀(i++)之分。前者表示先把值赋给x后再加1,比如i=2;x=i++,那么x的值是2,i的值是3。后者表示先加1后再赋值给x,比如i=2;x=++i,那么x的值是3,i的值是3。
你的问题我觉得涉及到对自增运算符的理解,++i意味着“立即自增i”,而i++则意味着“现在先用i的原值,稍后再自增i”,这个稍后应该理解为是在下一条语句执行前i将进行自增。
所以结果是15,15,8,8
i++是先使用i的值,再对i进行加1操作.
所以在p=(i++)+(i++)+(i++)里面在计算p的值之前,i本身的值总是5.
所以p的值就是3个5所以是15.在运算完p之后,因为有3个i++,所以i做了3次自加运算,所以i最终是8.
q的变化同理.
所以最终打印结果是
15,15,8,8
++i
i自增1后再参与其它运算。
--i
i自减1后再参与其它运算。
i++
i参与运算后,i的值再自增1。
i--
i参与运算后,i的值再自减1。
结果很明显15,15,8,8
希望采纳