C语言中字符串输出问题~~~

来源:百度知道 编辑:UC知道 时间:2024/05/16 19:26:08
就是从键盘随便输入一个字符串,放入字符数组里面,然后显示出来。。
#include "stdio.h"
void main()
{
char c[13];
scanf("%s",c);
printf("%s",c);
}
运行后,我输入How are you?显示出来的结果竟然只有一个How,这是为什么?不是说字符串当中的
空格和转义字符‘\0’不是有区别的吗?为什么遇到第一个空格就截断了??虽然书上用的是如下的
方法:
#include "stdio.h"
void main()
{
char c1[5],c2[5],c3[5];
scanf("%s%s%s",c1,c2,c3);
printf("%s%s%s",c1,c2,c3);
}
我想问题肯定出在Turbo C处理‘\0’和空格上。。。谢谢大家给我点提示。。小弟编程水平不高啊。

scanf判断输入结束标志是空格和回车
所以想输出带有空格字符数组可将程序修改如下
#include "stdio.h"
void main()
{
char c[13];
gets(c[13]);
puts(c[13]);
}
ps:注意空指针释放