在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ 關于c語言的運算符

關于c語言的運算符

include<stdio.h>

main(){

int b=4,c;
c=b+=b--;
printf("%d",c);
}

結果為什么是7,運算的執(zhí)行順序是什么

回答
編輯回答
別瞎鬧

親測: c = 8 . b = 7
說明了 --運算符在整個右邊表達式執(zhí)行完畢后才賦的值
在其他語言中. c=b=8.


補充一下:這個問題好像并沒有這么簡單

昨天試了一下.舉個例子

int a = 1;
a = a + a--;

如果在c語言中,那么a的結果就是0.

當執(zhí)行a = a + a--時,先執(zhí)行=號右邊的表達式,那么右邊的表達式是2.
把2的值寫入到a的內存中.
然后在執(zhí)行a--,那a指向的內存就修改成了1.

在其他語言中
執(zhí)行a = a + a--時,右邊表達式計算完,不寫入內存,執(zhí)行--操作,把--后的值1寫入內存,
然后在把整個右邊表達式的結果賦值給a指向的內存,那么a指向的內存就變成了2.

區(qū)別就在寫入內存的時間不同.

2018年7月9日 17:33