C語言中,輸入錯誤請重新輸入

2025-07-16 11:10:25 字數 1826 閱讀 4753

1樓:網友

while後多了個分號,while這句不執行,但是之後的花括號裡面語句依然按序執行。去掉分號就是你想要的了。

2樓:網友

邏輯應該沒問題,你看這句話:while(result<0||result>100);,後面多了個";",改下試試。

c語言如何做到輸入出錯重新輸入,輸入正確則繼續執行後面的程式

3樓:網友

int n=0;

printf("請輸入1-5的數:");

scanf("%d",&n);

whilie(n<1 ||n>5)

printf("輸入正確");

c語言的檢查輸入錯誤提示重新輸入的問題

4樓:三天打魚

寫乙個迴圈 把接收輸入的**放迴圈裡。

接收乙個輸入的字串。

然後自己寫方法判斷輸入內容是否合法。

如果合法 就轉換為型別指定型別 然後跳出迴圈 不合法就繼續迴圈輸入。。。

如果轉換型別的函式 可以返回是否轉換成功 或者 會彈出 異常 那麼只要判斷一下返回值 或 處理一下異常捕獲 就可以不用自己寫方法判斷輸入是否合法了。。

5樓:寒寒家

//可以用下面的方法。

scanf在接受到與%d不符的輸入時,返回值是0,否則是1//另外123b這種輸入不會出錯的,會把123賦值給i//b123則不會了。

#include

int main()

return 0;

6樓:網友

組個判斷字元是否大於'0'並且小於'9',是的話跳出迴圈,否則重新輸入。

c語言怎麼實現輸錯了 重新輸入

7樓:

可以設定乙個while迴圈在其體內輸入資料,經判斷輸入正確則跳出迴圈,否則提示重新輸入,直到輸入正確。舉例**如下:

#include ""//if the vc++,with this line.

#include ""

int main(void),year,month;

while(1)

m[1]+=year%4==0 &&year%100!=0 ||year%400==0;

printf("%d/%d is %d days.",month,year,m[month-1]);

return 0;}

8樓:網友

設個標誌位,用迴圈來實現。

偽**如下:

*****== **開始 *****== */int isoutofrange;

doelse

isoutofrange = 0;

while (isoutofrange == 1)輸出2003年該月有幾天;

*****== **結束 *****== */

c語言輸入乙個數不對 重新輸入乙個值?

9樓:網友

1,我想我知道你想問什麼了。

scanf輸入函式 是從標準輸入裝置輸入的輸入快取獲取資料的,也就是傳說中的stdin流(據說,stdin是乙個結構體指標)。當你再次想用scanf讀取資料時,必須先清空stdin流的資料。否則將直接讀取上次輸入的資料。

你的//fflush(stdin); 不加入while迴圈呢?,2,你說的輸入2錯誤又是怎麼回事,迴圈裡面根本沒有限定。

10樓:空空

輸入兩次ctrl+z就能跳出了。

c語言中printf 請輸入r ?)怎麼輸入「請輸入」這三個字呢????

int a printf 請輸入r d a 直接將 請輸入 放在其中即可,ms或其他編譯環境是支援中文的。include main 不知道是不是你要的,沒看懂你題目的意思。include int main float r,l,s,pi printf 請輸入圓的半徑 n s 你用的引數是float型,...

如何在c語言中輸入特殊符號,C語言中輸入一些特殊的符號 ,應該怎麼 弄?

方法老簡單了,就擔心你們不會輸入特殊符號 1 單個任意ascii字元輸入 使用ascii輸入。例如 char c 164 符號 2 字串中輸入任意ascii字元 使用轉義字元 ascii碼。例如 char str abc xa4 abc 轉義字元 xhh hh代表字元的十六進位制ascii碼。但是你...

c語言scanf 輸入函式,c語言中的scanf 函式的用法

scanf是c語言中的一個輸入函式,與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上 include 在有一些實現中,printf函式與scanf函式在使用時可以不使用預編譯命令 include 它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指...