課程
/后端開發(fā)
/C
/C語言入門
先運算和先取值有啥區(qū)別???還是不明白?
2015-02-04
源自:C語言入門 3-3
正在回答
“++的運算”:取值+1
假如有下面代碼:
int?a?=?1; printf("%d\n",?a++);?//?輸出1 printf("%d\n",?a);?//?輸出2
第一個printf要打印出a++的值。所謂先取值再運算是指:a++的值就是a當(dāng)時的值(即把a的值取出來),在之后a會自增1。 所以a++的值就是1,而在這個語句結(jié)束后a的值就自增1,變成2了,所以第二個printf輸出2。
如果后兩句是這樣:
printf("%d\n",?++a);?//?輸出2 printf("%d\n",?a);?//?還是輸出2
同樣第一個printf要打印++a的值。所謂先運算再取值是值:++a的值是先將a自增1,再取這個結(jié)果。所以++a的值是a+1 = 2。第一個printf就打印出2了。而這之后a的值還是2。
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答老師 請問一下!
3 回答請問老師一下
2 回答老師,請問一下
5 回答老師我想請問一下
3 回答老師,我想請問一下
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-04-07
“++的運算”:取值+1
2015-02-04
假如有下面代碼:
第一個printf要打印出a++的值。所謂先取值再運算是指:a++的值就是a當(dāng)時的值(即把a的值取出來),在之后a會自增1。 所以a++的值就是1,而在這個語句結(jié)束后a的值就自增1,變成2了,所以第二個printf輸出2。
如果后兩句是這樣:
同樣第一個printf要打印++a的值。所謂先運算再取值是值:++a的值是先將a自增1,再取這個結(jié)果。所以++a的值是a+1 = 2。第一個printf就打印出2了。而這之后a的值還是2。