C語言用如何用scanf輸入帶有空格的字符串

原文鏈接:https://zhidao.baidu.com/question/503152122.html

轉自:https://zhidao.baidu.com/question/503152122.html

 

要輸入帶空格的字符串,要用到一個格式字符:%[] --> 一個字符集。

“%[]”的作用是掃描字符集合:

例如:scanf(“%[^\n]”,str);

具體作用是:如果輸入的字符屬於方括號內字符串中某個字符,那麼就提取該字符;如果一經發現不屬於就結束提取。該方法會自動加上一個'\0'到已經提取的字符後面。

#include <stdio.h>

int main()

{

char str[81];

printf("Please input a string:\n");

scanf("%[^\n]",&str);

printf("The string is:\n%s\n",str);

return 0;

}

 

 

C語言中scanf()函數提供的“%[]”格式串可以用來進行多個字符的輸入,並對結束符進行自定義。 對於%[]還可以用^+任意字符(包括 eof)來結束字符串的輸入,如%[^EOF]就是直到有EOF 輸入,字符串才中止。
參考代碼:

1

2

3

4

5

6

7

8

#include <stdio.h>

void main()

{

    char str[100];

 

    scanf("%[^\n]",str);//直到輸入回車鍵,讀取才結束,當然不能超過a定義的大小,否則會出錯。此命令與gets(str)效果一樣。

    printf("%s\n",str);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章