課程
/后端開發(fā)
/C
/C語言入門
比如:
int i=0;
printf("%d\n",i++);
printf("%d\n",++i);
運(yùn)行之后是0,2。為什么不都是1呢?
里面說a++和++a都等于a=a+1,是不是說錯了?
2016-07-29
源自:C語言入門 3-3
正在回答
i++是先取得i的值,然后再讓i=i+1;而++i,則是先有i=i+1,然后再取i的值。這個地方的第一個printf里的i++,因?yàn)橄热的值所以是0,但這一步之后i=i+1=0+1=1,然后第二個printf里的++i是先算i=i+1=1+1=2,然后再輸出i=2 。
慕粉小金 提問者
第一個"i++"是取i=0,然后直接輸出為0,再進(jìn)行i=i+1的計(jì)算,即第二個printf之前i=1,第二個“++i”是先進(jìn)行i=i+1,計(jì)算的值是2,輸出。所以運(yùn)行的結(jié)果是0,2。
“i++”是先取值在計(jì)算;“++i”是先計(jì)算在取值。
1、i++:先取值,再執(zhí)行+1;因i原始值為0,所以此處輸出0;(但執(zhí)行完i++之后,i=1)
2、++i:先執(zhí)行+1,再取值;在上一步的基礎(chǔ)上+1,所以此處輸出2。
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
3 回答自增自減是怎么運(yùn)算的?
2 回答自增自減到底怎么算啊
4 回答自增自減運(yùn)算
8 回答自增自減運(yùn)算符
2 回答自增與自減運(yùn)算
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-07-29
i++是先取得i的值,然后再讓i=i+1;而++i,則是先有i=i+1,然后再取i的值。這個地方的第一個printf里的i++,因?yàn)橄热的值所以是0,但這一步之后i=i+1=0+1=1,然后第二個printf里的++i是先算i=i+1=1+1=2,然后再輸出i=2 。
2016-07-29
第一個"i++"是取i=0,然后直接輸出為0,再進(jìn)行i=i+1的計(jì)算,即第二個printf之前i=1,第二個“++i”是先進(jìn)行i=i+1,計(jì)算的值是2,輸出。所以運(yùn)行的結(jié)果是0,2。
“i++”是先取值在計(jì)算;“++i”是先計(jì)算在取值。
2016-07-29
1、i++:先取值,再執(zhí)行+1;因i原始值為0,所以此處輸出0;(但執(zhí)行完i++之后,i=1)
2、++i:先執(zhí)行+1,再取值;在上一步的基礎(chǔ)上+1,所以此處輸出2。