#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); //讀取除了換行以外的所有字元
沒有留言:
張貼留言