關於scanf遇到空格繼續輸入字串的方法

2021-08-20 20:06:06 字數 610 閱讀 8360

我們用scanf()函式輸入乙個帶空格的字串函式時,經常會在第乙個空格時就停止輸入。

下面有兩種方法可以完整輸入字串

1)利用strcat()函式來實現帶空格字串的輸入,可以用字串追加函式strcat()來連線每個單詞。 

strcat()一般格式:char*strcat(char*dest,const char*src);  

函式將字串src連線到dest的尾端,並返回字串dest的首指標。 

#include 「stdio.h」 

#include 「string.h」 

#include 「conio.h」 

void main() 

2)利用格式符「%」它的作用為掃瞄字元集合。 

scanf(「%[^c]」,str); 

其中「c」是乙個具體的字元常量(包括控制字元)。

當輸入字串時,字元「c」將被當作當前輸入的結束符。

如同預設情況下空格和回車鍵以及tab鍵是作為字串輸入的結束符一樣,利用此格式符便相當於由程式設計者自己指定乙個輸入結束符。 

#include」stdio.h」 

#include 「conio.h」 

void main() 

scanf遇空格後繼續輸入

如何讓scanf 函式正確接受有空格的字串?如 i love you include int main 輸入 i love you 上述程式並不能達到預期目的,scanf 掃瞄到 i 後面的空格就認為對str的賦值結束,並忽略後面的 love you 這裡要注意是 love you 還在鍵盤緩衝區 ...

解決scanf獲取輸入資料時,遇到空格結束的問題

先簡單了解一下scanf函式 函式原型 int scanf const char format,include intmain int argc,const char ar 以上 如果輸入 4 5,則輸出結果為 i 2 如果輸入 4 k,則輸出結果為 i 1 因為a和b都是整型資料,輸入的k為字元,...

使用scanf字元輸入時遇到的問題

今天用scanf給一字元陣列迴圈複製時遇到了問題 include stdio.h int main a 9 0 printf s a return 0 發現scanf會被跳過,搜了一下網 原來scanf 或者getchar 是從標準輸入緩衝區中讀取輸入的資料,而 c的字元輸入格式會接收回車字元,在輸...