#include <stdio.h> #include <stdlib.h> int main(void) { char a[100]; scanf("%s", a); printf("%s\n", a); system("pause"); return 0; }
以上是一個簡單的程式,也就是讓使用者輸入一段文字後,再將它輸出。
那,這有什麼特別的呢?
試試看輸入"This is a book."吧!
輸出結果竟是"This(換行)"!發生什麼事了呢?
實際上,scanf()這個函數不會接收「空格」、「Tab」以及「換行」這些符號。
那怎麼辦呢?你可以使用gets()函數,它可以接收包含空格的整行文字。
範例:
實際上,scanf()這個函數不會接收「空格」、「Tab」以及「換行」這些符號。
那怎麼辦呢?你可以使用gets()函數,它可以接收包含空格的整行文字。
範例:
#include <stdio.h> #include <stdlib.h> int main(void) { char a[100]; gets(a); //讀取包含空白的整行文字 printf("%s\n", a); system("pause"); return 0; }
補充:
如果硬是要使用scanf()的話,就這樣寫吧。
char a[100]; scanf("%[^\n]", a); //讀取除了換行以外的所有字元
沒有留言:
張貼留言