1樓:匿名使用者
建議用rewind或做如下改,已測試通過
c語言中fflush(stdin)作用**)#include
#include
int menu_select();
int main() }
//the end
return 0;
} int menu_select()
2樓:匿名使用者
在scanf("%d",&cn);的後面加上fflush(stdin);來清空輸入快取。否則每次scanf都會失敗的。你沒有判斷scanf的返回值,如果判斷了你會發現scanf每次都返回0,這是失敗的。
因為型別不匹配。
因為scanf返回0,因此cn的值是堆疊中的隨機值,所以很難等於3.
-------------------------誰說fflush不是c標準來的?它的實現的確根據庫實現決定的。但在windows下,if the stream is open for input, fflush clears the contents of the buffer.
3樓:匿名使用者
#include
int menu_select();
int main() }
//the end
return 0;
} int menu_select()
4樓:圓喜
fflush(stdin);
scanf("%d", &cn);
在你的scanf前加一句,清空輸入流快取
因為scanf遇到格式不匹配的字元,它就不從輸入流中取走那個字元,那個字元一直存在流中,第二次迴圈回來它還讀那個字元,還是出錯,還不取走,這樣就死迴圈了,清空流就沒事了。
5樓:匿名使用者
default:
printf("your input is illegal!\n");
break;
6樓:匿名使用者
返回值是0和迴圈有何關係?int menu_select() 的返回值是啥?高手請解釋
7樓:
printf("your input is illegal!\n");
在這一句後加一個getchar();就可以了。
為什麼搜狗手機輸入法拼音輸入出現數字
搞了半天,oppo的手機,開啟設定 其他設定 鍵盤和輸入法 預設,裡面有360演示鍵盤和酷狗輸入法,勾選360演示鍵盤。再勾回酷狗輸入法,就好了,剛剛親測,也是一大早起來煩的要死,後來試出來的 我剛剛手機也這樣了。輸入拼音出來都是對應的數字。看了網上很多方法都沒用,解除安裝重灌簡單粗暴卻很有效!在手...
為什麼我的ecel輸入數字是會變
方法1 在輸入前先輸入英文半形下的 然後再輸入資料即可。方法2 選中該列 滑鼠右鍵 選擇單元格格式 數字 文字 確定即可。然後輸入就會正常。把單元格拉長就行了,變成你說的那種是16進位制的字元!或者把單元格格式變成文字也行!很簡單的。這樣做 右鍵單擊你想改變的單元格 選擇 設定單元格格式 在 數字 ...
為什麼EXCEL裡面輸入數字後會自動退至小數點後兩位
1 這是因為單元格copy設定了兩位有效數字導致的。你設定了 工具,選項,編輯,自動設定小數點位數為0,所以出現這個情況,取消該設定即可恢復正常。2 設定方法如下,首先選中需要錄入資料的單元格區域,開啟 設定單元格格式 對話方塊,在 數字 選項卡中選擇 數值 小數位數選2,確定,再此區域中錄入數字後...