c語言怎麼用scanf輸入字串

2021-03-04 09:00:23 字數 843 閱讀 1209

1樓:守望相依

你的意bai思是輸入多餘的字元吧?du

1、因為zhi你用scanf輸入dao的字元都是輸入到緩衝區中的,例如

內你定義了乙個只接容受乙個字元的變數ch,但卻輸入了多餘的字元,這種情況會給編譯器造成困擾,因為他並不完全智慧型,通常採用這種方法釋放掉緩衝區內多餘的字元輸入;例如:

2、char ch;

scanf("%c", &ch);//假如你不小心輸入了多個字元//解決方法如下

while (『\n』 != getchar())//這裡的原理一不斷的用getchar讀取緩衝區內的字元,並將其廢棄掉,直到遇到你輸入的回車符(當然也可以是別的輸入結束符);

2樓:水裡風

字串用陣列代替,然後用迴圈語句乙個乙個字母輸進去= =

為什麼在c語言中,用scanf輸入字串時,不需加&

3樓:匿名使用者

舉例:char str[256];

scanf("%s",str);

其中str是陣列名,已經代表陣列的起始位址了,也可以這麼寫:

scanf("%s",&str[0]);

4樓:金色潛鳥

因為字串變數名在 scanf 語句裡 表示指標 (位址)

例如:char s[80];

scanf("%s",s); --- 這裡的s 已是地內址。

當然,寫成容 scanf("%s",&s[0] ); 也可以, &s[0] 是位址。

5樓:匿名使用者

這個問題現在告訴你也聽不明白。。。

C語言,關於scanf控制格式輸入小數的問題

scanf格式控制的完整格式 m l或h 格式字元。格式字元與printf函式中的使用方式相同,以 d o x c s f e,無 u格式 g格式。可以指定輸入資料所佔列寬,系統自動按它擷取所需資料。如 scanf 3d 3d a,b 輸入 123456 系統自動將123賦給a,456賦給b。後的 ...

用C語言求解 刪除字串的字元,用C語言求解 刪除乙個字串的乙個字元

int n maxstring 字串最大長度char n strsrc 原始串char n 1 strdes 目標串char delchar c int i 0 int j 0 for i 0 i n i 上面幾條語句就實現了你的要求。要輸出的話那簡單。int i 0 for i 0 i n 1 i...

用c語言程式設計字元統計輸入文字檔案分別統

include int main else if c else if c 0 c 9 else printf 字母數 d n空格數 d n數字數 d n其他字元 d n letters,space,digit,other return 0 執行效果 printf函式使用注意事項 1 域寬 d 按整型...