#include<stdio.h>
main()
{
char c1[6],c2[6],c3[6],c4[6];
scanf("%s%s",&c1,&c2);
gets(c3);gets(c4);
puts(c1);puts(c2);puts(c3);puts(c4);
}
输入
111 222(回车)
333 444(回车)
结果是
111
222
333 444
中间的那段空是怎么来的啊??新手求问,我之前试过单独把c3跟c4输出来结果c3是回车符
谁能 讲解下过程,困扰了我好久,
还有,我试过输入
111 222 333(回车)
444(回车)
结果是
111
222
333
444
为什么333前面会有空格????
就在两个问题,小弟分不多,拜托各位大侠了!!!我尽量给分
话说在定义的时候c3不是定义了长度是6吗,为什么还能把333 444读进去
追答能不能读进去跟定义的长度没多大关系。还是函数的功能为首要位置。
就好象说 一杯水能接500毫升(相当于长度),但是有人说 接水的时候看到来人了就停止接水(相当于函数功能)。所以水不一定能接满。一个道理
在定义的时候c3不是定义了长度是6吗,为什么还能把333 444读进去
追答因为你输出的方式是puts ,从字符串的开始直到遇到终止符"\0",你用gets读入字符串时从头指针读入一串字符, 你的用法是错的,不过按照计算机的储存原理是可以输出来的。