在 c 語言中,使用 gets()、fgets() 和 scanf() 函數可以輸入包含空格的字符串。gets() 會讀取直到換行符或 eof,fgets() 需要指定文件指針,scanf() 使用 %1%*c 格式說明符讀取直到換行符。\n ?
C 語言中包含空格的字符串如何輸入
在 C 語言中,可以使用以下方法輸入包含空格的字符串:
方法 1:使用 gets() 函數
<code class="c">char str[100]; printf("請輸入一個包含空格的字符串:"); gets(str);</code>
登錄后復制
方法 2:使用 fgets() 函數
<code class="c">char str[100]; FILE *fp = fopen("input.txt", "r"); if (fp == NULL) { perror("打開文件失敗"); return -1; } fgets(str, 100, fp); fclose(fp);</code>
登錄后復制
方法 3:使用 scanf() 函數
<code class="c">char str[100]; printf("請輸入一個包含空格的字符串:"); scanf("%[^\n]%*c", str);</code>
登錄后復制
注意事項:
使用 gets() 函數時,要注意它會讀取輸入直到遇到換行符或 EOF,因此如果輸入的字符串很長,可能會出現問題。
使用 fgets() 函數時,需要指定文件指針。
使用 scanf() 函數時,需要使用 %1%c 格式說明符,其中 %2 會讀取直到遇到換行符,%c 會跳過換行符。
- \n ?
- \n ?