編譯,連線,都沒錯,執行時輸入數字也沒錯,但一輸入字母和其他字元就一直迴圈,求教啊,,糾結死了

2022-06-20 04:25:02 字數 530 閱讀 2508

1樓:匿名使用者

在printf("error !please entry 1-4.\n");這句後面加入以下這句,作用是清除輸入快取區。

fflush(stdin);

scanf("%d",&x);

//原因是:這是因為 scanf("%d", &x); 只能接受整數,如果使用者輸入了字母,則這個字母會遺留在「輸入緩衝區」中。

因為緩衝中有資料,故而 scanf 函式不會等待使用者輸入,直接就去緩衝中讀取,可是緩衝中的卻是字母,

這個字母再次被遺留在緩衝中,如此反覆,從而導致不停地輸出printf("error !please entry 1-4.\n");

2樓:匿名使用者

字母和其他字元滿足while的條件(!(1<=x && x<=4))吧 你的意思是只要不是1-4 就迴圈啊,那你數字字母和其他字元肯定就不是1-4啊

你是什麼意思呢 你的意思是不是說你輸入a 理想是error !please entry 1-4只輸出一次 然後讓你再次輸入 是吧

編譯執行和解釋執行的區別是什麼,解釋和編譯有什麼區別

一 與計算機的交流方式不同 1 解釋程式不產生目標 它逐條地取出源程式中的語句,邊解釋,邊執行 直譯器把源 檔案邊解釋成機器語言邊交給cpu執行。2 編譯是將源程式翻譯成可執行的目標 執行可執行程式檔案,翻譯與執行是分開的。二 執行環境不同 1 解釋程式可跨平台使用,因為直譯器已經做好了對不同平台的...

c語言程式設計時編譯沒錯但組建出錯是怎麼回事呢?該怎樣解決

嘗試在前面加一個vc的必須標頭檔案 我沒發現什麼大的錯誤,但是在scanf裡的取址符可能不太合格,是英文格式嗎?親測沒問題,是你的軟體有問題。c語言編譯正確為什麼老是執行錯誤 編寫是沒問題的。求大神解決啊 編譯正確只說明沒有語法錯誤。邏輯錯誤 演算法上的錯誤編譯程式是檢查不出來的!c語言編譯錯誤c1...

怎樣檢視軟體執行過程,c 編譯器怎樣檢視執行過程

樓主可以試試 微軟的系統程序監控軟體 process monitor 在網上蒐個漢化的,更是如魚得水!手機發的沒法給你打鏈結,本人用了好久了。很是爽啊!置裡有一項 正在執行的服務 裡面會顯示後台正在執行的程式,單機要停止的程式,然後選擇停止就可以了。可以在待機桌面新增該服務的快捷方式,方法是 長按桌...