1樓:符玉蓉亥月
這道題的關鍵是i++與++i的區別,i++是先以i的值作為整個表示式的值,即i++=4,然後i自加1
++i則是先以i+1作為該表示式的值,i也就是i+1的值。
具體點,該題可以這樣分析:
ii++
while(i++<4)00
ture11
ture22
ture33
ture44
false
5所以你此時輸出的i=5
2樓:
i++是先運算後自加,也就是說在i為3的時候,首先判斷i<4,然後i進行自加變成4.然後執行while內部,然後在進行判斷,這時候i為4.i<4為假.
但是還要執行自加操作就是5了.
3樓:彬彬有禮
先取i值判斷,再i自增,無論條件是否成立,自增總是在判斷之後做了,所以當i值為4條件不現滿足時,繼續做了最後一個i自增,於是i 在迴圈體之外時是5了。
4樓:匿名使用者
while(i++<4) //當i=4時,i++<4不成立,判斷後,i=5。
printf("%d\n",i); //這兒當然是輸出5了。
5樓:匿名使用者
你要明白 i++是後加 是判斷完後 再次加一 原來 i++是4 之後i就變成5了
6樓:匿名使用者
i++與++i的區別,i++是執行完比較後將i+1,++i是先將i+1,然後將新數進行比較
為什麼for(int i=0;i<9;i++) 在c語言中是錯誤的?
7樓:匿名使用者
標準抄c語言這樣
寫會出現語法錯誤的,如果使bai用t20,這樣寫肯定會出du錯,無zhi法編譯,正確的寫法是:在函dao數的開始申明變數,之後再使用變數,比如:
void fun()
後來很多整合開發環境,是支援for(int i=0;i<9;i++)這種寫法的,不過我的建議還是按照標準的較好,這樣在任何情況下都不會出錯。
在c語言中定義int i=1;執行語句while(i++<5)後i的值為6,為什麼?
8樓:千奕森良才
i++<5表示先取i的值和5比較,然後再執行++操作,所以,當i=5的時候不滿足while條件而退出迴圈,然後還會執行一次++操作,所以i=6
9樓:潭月肇揚
while(i++<5);
++在後來
,先自取i的值和5比較,然後i自動加1
當i=4時,執行4++<5,成立,i變成5執行5++<5,不成立,你怎麼知道不成立?因為執行了這個表示式,所以i將自動加1變成6
so,i的值最終為6
10樓:看灰過來了
while(i++<5);
++在後,先取i的值和5比較,然後i自動加1當i=4時,執行4++<5,成立,i變成內5執行5++<5,不成立,你怎麼知道不成立?容因為執行了這個表示式,所以i將自動加1變成6
so,i的值最終為6
11樓:
當i不滿足條件時此時的i值是5,跳出迴圈時,又自增1
c語言若int i=10;則執行語句while(i-->5):後,變數i的正確值為多少 正確值是多少,或者題目錯了嗎?
12樓:
i-->5是先判斷i是不是大於再i自減1
當i=6的時候是對的
i=5的時候
不成立i再自減退出
i=4退出的時候i=4;
13樓:匿名使用者
i--是先取值後減1的操作 所以while迴圈中i的值分別從10,9,8.。。遞減
到i=6 時滿足大於5的條件 然後i做減1的操作 此時i的值變成5進入下一次迴圈判斷i=5 不滿足大於5的條件 迴圈語句不執行 就是說迴圈執行全部完成了 但是同時i還是要減1的 變成4
所以i最後的值是4
c語言問題:執行語句for(i=1;i++<4; ); 後,變數i的值是多少啊??
14樓:鄒勤
答案是c哦,回答選b的,這是個迴圈題,因為++比<的優先順序高,所以先執行i++進行i的自增運算此時i等於2,繼續迴圈直到i的值大於4時不符合條件自動跳出迴圈
15樓:匿名使用者
5 i++是先使用i,然後在自加
16樓:匿名使用者
樓主為什麼要問這種問題呢?找個編譯器試試不就好了
17樓:匿名使用者
選b.給你把他轉成容易看懂的.
int i = 1;
for(;;)//如果i<4就什麼也不做,直接跳到下一行else//如果i>=4就直接跳出迴圈
i++;//最後把i自加
}當i=3的時候,不會跳出迴圈,所以i自加,i=4了當i=4的時候,就會條出迴圈,i不會自加了.
所以,最後i=4
c語言題目:執行語句for(i=1;i++<4; );後變數 i 的是 a 3 b 4 c 5 d 不定 這道題我算了一個晚上啊
18樓:匿名使用者
選擇c~因為當i=4時,i先與4做比較,然後自增為5,退出迴圈~
i++是先對i進行操作,如將i值賦給別的變數,然後自增,例如:j=i++,j的值就是i自增之前的值。
19樓:匿名使用者
選c 5
迴圈會一直做, 直到i++<4不滿足
初次不滿足時, i++中的i=4, 此時還會有一次++操作, 因此執行完後i = 5
20樓:分為金
你算了一個晚上?應該是想了一個晚上吧 答案是c 毫無疑問 樓上的解釋正確
在c語言中int i=10; while(i-->0) ; printf("%d",i);結果是?,為什麼?
21樓:匿名使用者
首先,--優先等級比》高,而且i--是先用再執行的,當i=0的時候,雖然while語句滿足了終止條件,但i會先進行i>0的比較,然後再會進行自減變成-1,最後再進行輸出的,所以結果是-1
22樓:
結果是-1。
因為先判斷表示式i-->0,先取值即10>0為真,再--,此時i=9依次直到i=0,表示式不為真,此時i=-1,並且退出while迴圈。執行printf("%d",i);
列印輸出:-1
23樓:無悔每一秒
-1主要問題在i-->0
這裡會先判斷i>0後, i才自減1
所以當i=0時不滿足,跳出while迴圈,還會進行自減,所以i=-1
24樓:匿名使用者
-1因為while()後面直接加了";"
那你的while迴圈其實就是
i--while(i>0)
i--;
(只是i--的迴圈)
當i=-1時跳出迴圈,輸出結果i
就為-1
C語言怎麼退出while迴圈,c語言中while的用法
不不見不念 if條件語句寫錯了 if a 判斷字串相等不能用等號 if strcmp a,0 要這麼寫 while 是乙個迴圈體,退出迴圈體的方法有 1 迴圈體條件 不成立,如 while a 0 當 a 0 的時候,條件 a 0不成立,while 迴圈結束,退出 while 迴圈。2 在迴圈體內使...
請問,c語言中return語句後,還執行後面的語句不
不執行,直接返回到呼叫子函式的位置,並返回返回值 不執行,已經返回主函式了。在c語言中,乙個函式的結束都是以return為出口的。在乙個函式中無論在 執行到return則結束該函式!對於有返回值的函式return乙個該函式返回值型別的數,對於無返回值void型別的函式,則遇到可能會碰到return ...
c語言中語句“y x1”是怎麼執行的
埃德蒙 放後邊 x先參與 運算 計算結果賦給y 之後x值自增1。如果x 3,y x 1 之後y 2 x 4就是要記住一個規則 在變數之前時 值先自增1 再參與其他運算,在變數之後 先參與其他運算 變數值再自增1 關燁韋 先執行x 1,然後再賦值給y,然後再x 如果換成y x 1 就會先自增,再運算。...