求高手幫我講解下C語言中的while迴圈

時間 2022-05-28 22:10:30

1樓:

的確是輸入快取裡面有回車的緣故,那樣就相當於你輸入了兩次,因而輸出連詞錯誤,i也沒減到了1,所以第二次無法輸入。

你可已在

printf("錯誤\n");除一樓說的方法外後面寫上fflush(stdin);清空輸入快取也可以達到目的

2樓:發假或一半訊息絕戶

#include

#include

void main()

if(a=='b')

else

}上機除錯過了

3樓:匿名使用者

scanf()函式在接收資料時,雖然需要回車才能收到資料,但是卻會將'\n'(回車)留在緩衝區。

因此,後面的scanf()呼叫就會收到字元'\n'。如何才能讓後面的scanf讀入使用者輸入的字元,而不是前面scanf丟下的垃圾\n?

必須在後面scanf到來之前把垃圾\n清除。

c語言中有一個清除緩衝區的函式int fflush(file*),該函式在中定義。

具體到本程式,需要清除的緩衝區是鍵盤緩衝區stdin。

將while內**改為如下即可

printf("錯誤\n");

fflush(stdin);

scanf("%c",&a);

i--;

4樓:

覺得。i--不能放在while裡面

我也是剛開始學。大家交流下

我覺得應該用if語句比較方便吧

大致說下我的思路

if(判斷是否輸入b){……

}else{……

i++else if(i=3)}

求高手給我說下這個c語言程式!麻煩講詳細一點,還有while(--i);這句是什麼意思!

5樓:匿名使用者

你的程式寫得有點問題

#include

void main()

while(--i); //當i的值減一不為0的 時候執行下面的語句,然後i的值再減一然後一直這樣迴圈,直到i的值為0才跳出迴圈

cout<

6樓:江湖中已沒了哥

你這不是陷入死迴圈了嗎??這個能輸出嗎??你用vc執行一下啊

while(--i);先執行--i再判斷while

c語言:求高手幫我解釋一下這個程式!!!!

7樓:匿名使用者

陣列c錯誤賦值.

輸入的字母與'a'的差值成為陣列c中元素的下標,所指元素均加1.

當輸入小寫字元或其他字元時下標超出陣列c範圍出錯.

結論:此程式可以用來計算各字元的出現次數,意義不大.

8樓:燈影徘徊

你輸入abcacc回車,則while語句迴圈6次,分別為c[0]++,c[1]++,c[2]++,c[0]++,c[2]++,c[2]++,「++」是自增運算子,表示這個變數的值增加1,你定義的時候賦值c[0],c[1],c[2]都為0,所以c[0]自增兩次,結果為2,其他兩個一樣可以推到

求高手幫我詳細解釋下以下c語言程式

C語言中怎麼求平方,C語言中變數的平方怎麼輸入

a 6 是a和6的異或,並不是5的6次冪。你的程式會如下計算 5是101 6是110,你的答案你一定是011,也就是3 c語言中 是指抑或運算子,不是求冪的。你要求平方就 b a a 6次方就乘6次。c語言中有空上符號麼。我只知道vb中有。c語言中變數的平方怎麼輸入 在c 中,變數a的平方可以有2種...

c語言中怎麼求數的反序數,C語言中怎麼求一個數的反序數?

愛你凡凡麼麼噠 不用求原來的數字到底是幾位,直接用取餘數乘10的方法就可以了。c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平...

c語言中的if迴圈的小問題,希望高手解答

main 香草飛揚 continue後面的語句是不執行的,continue前面的if滿足條件的話,就會跳出去,重新執行while語句.所以i一直等於0 最後i 0,或者說i始終等於0.初始i 0,當執行到if i 1 continue時,由於 i 1 為真,所以continue,跳出本次迴圈,再次執...