问题描述:
int i=8 i++,i--,++i,--i,-i++,-i-- 自右向左I的值依次是多少,,,弄了好久也没明白,,请教高手,,,能解释自加和自减疑问???
问题解答:
i++ i=8 然后自增 i=9
i-- i=9 然后自减 i=8
++i 先自增再取值 i=9
--i 先自减再取值 i=8
-i++ ++优先级高于-,但是先取值再自增 i=-7
-i-- 同上 i=6
所以i分别为8 9 9 8 -7 6
所以总的来说i++是先取i的值进行操作,操作结束后再自增
++i是先自增,完了再取值
你放到程序里运行一下不就知道了?
说的好。
i++
后i还是等于8,要等这语句执行完后i=9
++i是先让i+1,此时的i=9
总之就是(++)在后的就死执行完后才加上
(++)在前的就是先在
例如 int i=8;
printf(“%d”,i++)
输出为8
要是printf(“%d”,++i)
则为9
再给你 个例子吧
例如 a=3,b=4
要是(a++) +b=7
要是(++a)+b=8
--很++一样的