到底如何用c語言輸入帶空格的字串

2021-10-19 12:46:34 字數 926 閱讀 1071

正文來啦-在c語言中如何輸入有空格的字串

刷演算法題,原來以為迭代是難點,花了大半天弄懂迭代和題目的思路之後沒想到被c語言帶空格的字串輸入困了兩天。。。

其實這個問題解決起來並不麻煩,但為什麼頭一天晚上花了那麼多時間都沒有解決呢?主要是因為太情緒化了,並沒有做好在理清思路之後仍然會遇到問題的心理準備,所以在塌下心來看了半天演算法思路之後,卻仍不能通過**之後會有點崩潰,破罐子破摔。。。

刷演算法題,下了好大決心才開始,耐著性子看懂了題目,看懂了解題方式;

2.想要試試**的時候,卻發現,通不過!!!;

寫惱了,當時的其實是明白問題出在哪的,但是好像是有種報復的感覺,就不會好好解決問題;

第二天心情平復了(其實還是有點痛苦)開始一點點試網上說的方法將解決問題

例如scanf("%d%d",&a,&b)兩個變數在輸入的時候一般會用空格或者回車隔開 由此可得scanf是不接受空格和回車的

在採用gets函式的時候由於安全問題在vs中需要變為函式ges_s才可以使用

```c

char s[6][6];

int n=3;

for (i = 0; i < n; i++)

在vs中可以用此方法成功輸入 但是oj上通過不了,所以就又試其他方法

```c

for (i = 0; i < n; i++)

這種方法就可以在oj上面通過啦

需要解釋一下的是

在scanf中%c和%s的區別:前者是對於乙個char型的陣列可以乙個乙個字元的輸入程式輸入結束時的回車並不會直接轉化為『\0』需要自己加,後者是可以乙個字串直接輸入,會把最後的回車直接變成』\0』儲存。後者會吃掉空格 所以用前者

所謂戒掉情緒並不是,可以控制住不隨意表現自己的情緒,而是從一開始就不要隨隨便便產生情緒。

C語言帶空格的字串輸入(記)

參考 新增鏈結描述 一般輸入 scanf s str 遇到空格就停止接受後面的字元 scanf s str,10 不接受帶空格的字串輸入,長度指定為10,遇到空格就停了。所以 char gets char buffer char str 30 gets str 可以讀取空格,回車結束 問題來了,如果...

c語言讀入帶空格的字串 (C語言)輸入輸出

計算乙個輸入整數的十進位制表示位數 單純使用printf一族函式實現 分析 printf函式的返回值是在螢幕上列印了多少個字元,這個可以用作輸出的位數。只使用scanf一族函式,讀入有空格的字串 分析 本身scanf是讀到空格結束的,可以使用正規表示式,規定結束符號 格式 033 屬性 m 輸入內容...

C 連續輸入帶空格的字串

測試檔案 測試1 include include include using namespace std int main 測試結果 顯然cin s不能夠接受空格的輸入 測試2 include include include using namespace std int main 測試結果 顯然g...