#include <stdio.h>
int main(){
char phrase [100]={0};
printf("Write a sentence: \n");
scanf ("%s", phrase);
printf("%s\n", phrase);
}
该程序的目的是打印用户的句子。问题是''字符有问题,我不知道如何解决它。
在执行期间,由于某种原因,句子仅打印到第一个空白区域。但为什么呢?
答案 0 :(得分:0)
正如评论中所指出的,%s
中的scanf
转换说明符无法读取带有空格的字符串;它使用空格作为分隔符。您可以使用fgets:
#include <stdio.h>
#include <string.h>
int main() {
char aLine[100];
fgets(aLine, 100, stdin);
aLine[strlen(aLine)-1] = '\0'; // trimming the last \n
printf("%s\n", aLine);
return 0;
}