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();就可以了。
手機輸入法拼音出數字,為什麼搜狗手機輸入法拼音輸入出現數字
暴風之眼鏡 可能是你手機按鍵沒設定好,就跟筆記本鍵盤有美式輸入和日式輸入法一樣有個切換,要麼就是這個輸入法軟體本身有問題,中病毒了,或者軟體程式錯誤等,你換個其他輸入法試一次就知道了 你還是到維修部修一下 緣何迷茫 長按拼音鍵或按住上滑拼音鍵可以輸入該鍵上對應的字母和數字。這是正常的功能不是毛病。如...
明明網路正常,線路正常,為什麼電腦就是上不了網,我家用的是路由器,但是設定沒問題,昨天上午都還在用
看看路由器的設定吧。首先看你本機是不是獲得了ip 如果可以,看看qq 能用不,如果qq可以,那要看看你的dns解析了。 靈狐小馬 你的手機能上,說明路由器沒有問題,那麼問題肯定在路由器到電腦這裡 1 檢查電腦的網路設定,是不是自動獲得ip地址。2 檢查電腦的網絡卡驅動是不是正確,計算機右鍵 管理 裝...
excel裡我輸入的數字為什麼在框的右邊,數字長的直接變成這樣了1 32325E 15原來的是
在框的右邊是對齊的原因,你按ctrl a,然後在對齊那裡點居中對齊,資料顯示不全,是因為格式不對,可以在點格式,選擇單元格,在彈出的對話方塊中選擇數字,小數點可以按需要來保留,一般預設是2位,然後再選擇對齊,水平和垂直對齊選居中或你想要的效果,點確定,注意 輸入的資料不要超過15位,否則15位之後的...