char a[20]={0};
printf("请输入: ");
scanf("%s[^\n]",a);
printf("%\ns",a);
system("pause");
运行:
请输入:I love you
I请按任意键继续…
希望的运行结果是:
请输入:I love you
I love you
请按任意键继续…
8 个解决方案
#1
scanf("%[^\n]%*c",a);%*c是用来吸收末尾的'\n'~~这样就可以了~~
#2
还是不行啊!
如果是:scanf("%[^\n]%*c",a);
运行结果是:
请按任意键继续…
如果改为:scanf("%s%[^\n]%*c",a);
运行结果仍然是:
请输入:I love you
I请按任意键继续…
如果是:scanf("%[^\n]%*c",a);
运行结果是:
请按任意键继续…
如果改为:scanf("%s%[^\n]%*c",a);
运行结果仍然是:
请输入:I love you
I请按任意键继续…
#3
scanf函数好象本身就是把空格作为数据分隔符
想读入带空格的字符串,得用如gets()之类的函数
想读入带空格的字符串,得用如gets()之类的函数
#4
建议暂时使用gets()函数来完成功能
等入门后学习使用fgets()函数来完成
等入门后学习使用fgets()函数来完成
gets(char *string);
fgets(char * s, int n,FILE *stream);
char a[20]={0};
printf("请输入: ");
gets(a);
printf("%s",a);
system("pause");
#5
三楼正解
#6
还不快快用上键盘事件。。。
#7
fgets(a,20,stdin);
#8
fgets(a,20,stdin)函数还是不行!
#1
scanf("%[^\n]%*c",a);%*c是用来吸收末尾的'\n'~~这样就可以了~~
#2
还是不行啊!
如果是:scanf("%[^\n]%*c",a);
运行结果是:
请按任意键继续…
如果改为:scanf("%s%[^\n]%*c",a);
运行结果仍然是:
请输入:I love you
I请按任意键继续…
如果是:scanf("%[^\n]%*c",a);
运行结果是:
请按任意键继续…
如果改为:scanf("%s%[^\n]%*c",a);
运行结果仍然是:
请输入:I love you
I请按任意键继续…
#3
scanf函数好象本身就是把空格作为数据分隔符
想读入带空格的字符串,得用如gets()之类的函数
想读入带空格的字符串,得用如gets()之类的函数
#4
建议暂时使用gets()函数来完成功能
等入门后学习使用fgets()函数来完成
等入门后学习使用fgets()函数来完成
gets(char *string);
fgets(char * s, int n,FILE *stream);
char a[20]={0};
printf("请输入: ");
gets(a);
printf("%s",a);
system("pause");
#5
三楼正解
#6
还不快快用上键盘事件。。。
#7
fgets(a,20,stdin);
#8
fgets(a,20,stdin)函数还是不行!