#include <stdio.h>int main(){??? int x = 0;??? printf("x=%d\n",x++);??? printf("x=%d\n",++x);??? return 0;}為什么這里是x=0? ? ? ? ? ? ? ? ? ? x=2————————————————————#include <stdio.h>int main(){?int x = 0;?printf("x=%d\nx=%d", x++, ++x);?return 0;}這里卻成了x=1? ? ? ? ? ? ? ?? x=2?
1 回答
已采納

按照自己的節(jié)奏前行
TA貢獻(xiàn)90條經(jīng)驗(yàn) 獲得超70個(gè)贊
很簡(jiǎn)單,規(guī)則問題
x++表示先賦值,后執(zhí)行加法操作,再賦值,這個(gè)時(shí)候,第一個(gè)輸出的x是0,然后打印x=0
在執(zhí)行加法賦值操作,此時(shí)x=1了
++x表示先執(zhí)行加法操作,在賦值,所以x=2了
---------------
后面那個(gè),
初始x=0,?
x++,此時(shí)x=1,但是第一個(gè)參數(shù)此時(shí)還是為0,
++x,此時(shí)x=2,第一個(gè)參數(shù)修改為1,
通常大家不會(huì)寫這么難以理解的代碼,容易出錯(cuò)
x++的時(shí)候,最開始x還是為0,但是后面執(zhí)行++x,所以第一個(gè)就等于1了
- 1 回答
- 0 關(guān)注
- 513 瀏覽
添加回答
舉報(bào)
0/150
提交
取消