【发布时间】:2014-03-25 05:57:50
【问题描述】:
编辑:我认为我的问题来自我正在使用的编译和 linux VM。请忽略。
我是 C 新手,无法接受带空格的字符串输入。我已经在这个网站上搜索了答案,但是所提出的解决方案都没有奏效,一旦到达第一个空格,fgets 和 scanf 都会截断字符串。我也试过 scanf("%99[^\n]", name) 也不管用。
这是我的代码:
#include<stdio.h>
int main ()
{
char name[100];
printf("What is your name? ");
fgets(name, 100, stdin);
printf("Hello %s. Nice to meet you\n", name);
return 0;
}
我也试过scanf,但是如果输入的是john smith,它只会输出john。
谢谢
【问题讨论】:
-
scanf("%99[^\n]", name); -
您的代码运行良好:ideone.com/l1T6y8