關於迴圈scanf

2022-06-02 18:10:03 字數 447 閱讀 1443

1樓:匿名使用者

關鍵在於你的while判斷

while(ch<=96||ch>=102)要想裡面的值為真,就要ch<=96或者ch>=102為真而a=97 e=102

如果你輸入f 也就是103 那麼while(1)為真,執行printf("\n錯誤");

scanf("%c",&ch) 了

只要while(0)才會執行printf("%d",ch);

也就是剛好在97~102這個範圍

2樓:匿名使用者

因為在輸入字元之後一定要按一下回車鍵程式才會開始讀取,而回車鍵也會產生乙個字元('\n'或者'\r'),這個字元會遺留在緩衝區中,由於緩衝區不空,下次scanf()會把這個字元取走,而不會等待從鍵盤輸入。

while迴圈修改如下:

while(ch<=96||ch>=102)

C語言,關於scanf控制格式輸入小數的問題

scanf格式控制的完整格式 m l或h 格式字元。格式字元與printf函式中的使用方式相同,以 d o x c s f e,無 u格式 g格式。可以指定輸入資料所佔列寬,系統自動按它擷取所需資料。如 scanf 3d 3d a,b 輸入 123456 系統自動將123賦給a,456賦給b。後的 ...

c語言迴圈佇列,關於迴圈佇列實現約瑟夫環(C語言)的問題

佇列是一種特殊的線性表,迴圈佇列是將向量空間想象為乙個首尾相接的圓環。佇列是乙個特殊的線性表,它的特殊之處在於它只允許表的前面的操作刪除,而在表的後面的操作插入,就像堆疊一樣,佇列100是乙個線性表,具有有限的操作。迴圈佇列就是把向量空間想象成乙個首尾相連的環,把這樣的向量稱為迴圈向量。儲存學位的佇...

c語言怎麼用scanf輸入字串

你的意bai思是輸入多餘的字元吧?du 1 因為zhi你用scanf輸入dao的字元都是輸入到緩衝區中的,例如 內你定義了乙個只接容受乙個字元的變數ch,但卻輸入了多餘的字元,這種情況會給編譯器造成困擾,因為他並不完全智慧型,通常採用這種方法釋放掉緩衝區內多餘的字元輸入 例如 2 char ch s...