請問為什麼輸入競猜數字(1 9)時我輸入字母他會一直迴圈?如果改正該怎麼改,謝謝各位老師了

2022-05-15 18:51:41 字數 1404 閱讀 1828

1樓:夢想作坊

格式化也不格式化一下,看著頭疼,估計回答的人都木有。

c語言scanf()問題。為什麼我輸入非數字,比如字母之類的會死迴圈???

2樓:匿名使用者

scanf叫做「格式化輸入」函式,這個函式是「脆弱型」的輸入處理,在遇到非法輸入的時候,只會跳過,不會清理輸入緩衝區,造成了你在while中這樣做就是死迴圈,因為緩衝區一直有「已經輸入的並且未清除的內容」。

解決辦法很簡單,在printf語句之前,清理一下緩衝區即可:

flushall();

printf(......);

3樓:匿名使用者

不輸入數字的話,返回0,m==0為真

4樓:

在printf之前加入語句fflush(stdin);清除快取區;

python寫一個要求使用者輸入數字,如果不是數字就一直迴圈要求輸入,直到輸入數字為止的**

while (scanf("%d",&a)<2) 為什麼輸入字母會一直迴圈下去,不應該迴圈一次後,在回到while嗎?

5樓:物理公司的

scanf("%d",&a); 應當鍵入數字,如果鍵入字母,scanf 語句執行失敗,a當中未取得輸入值,scanf函式返回0。

不一定是死迴圈,根程功編制的能有關。

有些情況,是由於輸入流裡的你鍵入的字母沒有被清掉,後面的輸入語句連續執行失敗。可以用 fflush(stdin); 清除多餘的字元。

6樓:匿名使用者

同學你好,scanf函式的返回值是他所成功賦值的個數!比如你這裡,要麼是0,要麼是1,總是小於2的,成死迴圈了。

如果你的意思是想輸入2個值,可用for迴圈執行固定次數達到

新手c++中 定義int型輸入字母就會死迴圈 定義char型輸入空格也會死迴圈 如何解決如題 謝謝了

7樓:蒿潔

年份不是數字的麼?為什麼要定義它為字元型呢?而ascii計算我不清楚,呵呵,我只能記得一種公式計算~ 還有你定義字元陣列,位元組空間要足夠大,還有特別注意的是輸入命令。

用gets();,他可以接納空格。

c語言 如何判斷輸入的是數字還是字母

8樓:

int i=0;

while(1)

else}

c++中怎麼判斷輸入的是數字還是字母?

9樓:

char c;

while(1)

else}

為什麼我用搜狗輸入法打字,輸入速度快時,拼音就出不來?輸入速度慢就可以?這是什麼原因?是不是因為裝

應該是抄卡機延時。解除安裝360,如果問題 沒有啊。表示我打字還覺行啊 我用的也是搜狗哦 應該是樓主你電腦的問題 我的筆記本最近打字總是出現問題。我用的搜狗輸入法,我打字速度稍微快一點輸入的拼音前幾個字就沒了只剩 我也是老出現同樣的情況!那位大神幫解決一下!謝謝!極有可能是打字的時候,手腕或者哪兒碰...

為什麼使用pycharm時,當我輸入引號或者左括號的時候系統

可以關復閉pycharm的自動制補全行為。settings editor art keys你可以關閉自動生成引號,大括號等。pycharm 是一種python ide,帶有一整套可以幫助使用者在使用python語言開發時提高其效率的工具,比如除錯 語法高亮 project管理 跳轉 智慧提示 自動完...

為什麼excel輸入數字,後面的0就沒有了

excel中,如果小數數字後面只輸入0,在預設設定下,會自動將0清除,在單元格格式中,設定小數位數,輸入0就不會消失了,而且小數位數不夠的話,會自動補充0。作業系統 win10 軟體版本 office2007舉例說明如下 1.在常規情況,輸入數字,小數位如果是0 2.不管多少位0,回車之後,後面的0...