#include <stdio.h>
int main(){
char phrase [100]={0};
printf("Write a sentence: \n");
scanf ("%s", phrase);
printf("%s\n", phrase);
}
該程序的目的是打印用戶的句子。問題是這個角色出了問題,我不知道如何解決它。如何從字符串打印空白空間?
在執行過程中,由於某種原因,該句子僅在第一個空白處打印。但爲什麼?
這是scanf'如何'工作,用'fgets'獲得whoe行 – fghj
讀([scanf函數的%S的一部分] http://en.cppreference.com/w/ c/io/fscanf) – BLUEPIXY
除非您指定目標緩衝區長度,否則'scanf'是不安全的 - 請考慮如果用戶輸入101個或更多字符會發生什麼情況。 – Dai