匿名
原程式碼全部 https://gist.github.com/Drena26/e2c3c13aa6d46e8bb9d52440e17615fd
想要問的部分是在第14行的while迴圈那裡
https://i.imgur.com/QU6wuUw.jpg
因為我希望使用者輸入的是正整數,
如果使用者輸入0或是負數或甚至是英文字母的話,會讓使用者再輸入一次(如果使用者輸入小數點還沒考慮)
我自己在打測資的時候,如果輸入負數或是0都很正常,都會讓使用者再輸入一次
https://i.imgur.com/xdVbPVl.jpg
可是為什麼我輸入英文的時候,就會變無窮迴圈,一直印出Wrong Input,Please input again
跪求板上大大求解
很少發問,有沒注意到的,還請大家指教
你可能有興趣的文章...
全部留言
https://stackoverflow.com/questions/44660548/scanf-a-char-using-d 因為在loop裹面有一個scanf 情況就像 : while(compiler沒把東西吃掉){ compiler要吃東西; } 然後你塞給他一坨屎 compiler : 幹我不要! ->沒吃掉 你 : 吃 compiler : 幹我不要!! 你 : 吃 compiler : 幹我不要!!! 你 : 吃 . . .
重新執行的話你開頭那一大串也會再output一次吧 醬怪怪的 比較智障的做法就是直接在loop裹面加一行scanf char當回收業 比較美觀的話就是從一開始就scan txt再轉數字
匿名
沒關係 重新一次(誰叫老師要輸入奇怪測資😂 老師只說如果使用者輸入奇怪測資 不要讓程式壞掉 沒有說不能直接結束😂 還沒學到讀入字元qwq scanf txt🤔🤔🤔