亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有一個C語言的問題我始終弄不明白,有大神能幫下忙嗎

有一個C語言的問題我始終弄不明白,有大神能幫下忙嗎

C
笑儺 2017-05-04 18:22:52
int i=0; while( i++ < 5); 循環結束后i的值是( ?A ? )。A)6??????? B)7?????? C)5?????? D)8就是這個題為什么是A啊,怎么算都是C,然后運行出來也是12345。可是6是對的。
查看完整描述

9 回答

已采納
?
習慣受傷

TA貢獻885條經驗 獲得超1144個贊

i++ 先取值運算,后自增

分解開來就是這樣:

當i=0時,?i++ < 5 ?==> ?結果為:0 < 5, true, i的值最終為 1

當i=1時,?i++ < 5 ?==> ?結果為:1 < 5, true, i的值最終為 2

當i=2時,?i++ < 5 ?==> ?結果為:2 < 5, true, i的值最終為 3

當i=3時,?i++ < 5 ?==> ?結果為:3 < 5, true, i的值最終為 4

當i=4時,?i++ < 5 ?==> ?結果為:4 < 5, true, i的值最終為 5

當i=5時,?i++ < 5 ?==> ?結果為:5 < 5, false, i的值最終為 6 ?==> 跳出循環。

i的值變為6.

查看完整回答
3 反對 回復 2017-05-05
?
司風0

TA貢獻26條經驗 獲得超15個贊

首先說一下i++與++i的區別 i++指先賦值后運算,什么意思呢 比如 int i=0; int t=i++; 這時t=0;然后輸出t和i的值,會分別輸出 i=1; t=0; 而++i則指先運算后賦值 int i=0; int t=++i; 這時t=1;然后輸出t和i的值,會分別輸出 i=1; t=1; 這就能解釋你那道題了 當i++等于5時,你的循環結束,但是它是先賦值再運算的,也就是說,當循環結束,它還要自加一次,即5+1=6 所以i就等于6啦。 望采納
查看完整回答
2 反對 回復 2017-05-04
?
娛樂局

TA貢獻5條經驗 獲得超1個贊

斷點調試,一步一步執行,很有用的
查看完整回答
反對 回復 2017-05-04
?
課桌上執筆寫青春

TA貢獻1條經驗 獲得超0個贊

先加后比較
查看完整回答
反對 回復 2017-05-04
?
慕仰9415829

TA貢獻1條經驗 獲得超0個贊

i++和++i的區別,在于前者先用再加,后者先加再用

查看完整回答
反對 回復 2017-05-04
?
Change_32514

TA貢獻3條經驗 獲得超0個贊

i++就是用完i后再執行i+1,所以當i=5時跳出循環,雖然循環語句(也就是while后花括號里的語句)不再執行了,但循環條件里的i++還是要在執行一次

查看完整回答
反對 回復 2017-05-04
?
想成為攻城師的筱筱

TA貢獻15條經驗 獲得超22個贊

i++是賦值在前加1在后,而++i是加1在前賦值在后。

剛運行時i的初值為0,進入循環,相當于先將0賦給i,與5進行比較大小,再將i加1,如此循環:i等于4的時候,先和5比較,小于5,繼續下一次的循環并且i值加1為5,然后5進入循環,與5進行比較,不滿足,跳出循環時i值加1,所以輸出結果i的值是6

查看完整回答
反對 回復 2017-05-04
?
想成為攻城師的筱筱

TA貢獻15條經驗 獲得超22個贊

你需要先要區分清楚i++和++i的區別

查看完整回答
反對 回復 2017-05-04
  • 9 回答
  • 0 關注
  • 3045 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號