两个字符数组的问题!希望高手解答下!
小弟在练习时发现点问题,希望高手解答下!第一个:
从键盘输入:
aa bb<回车> //aa bb之间有空格
cc dd<回车> //cc dd之间有空格
#include<stdio.h>
main()
{ char a1[5],a2[5],a3[5],a4[5];
scanf("%s%s",a1,a2);
gets(a3);gets(a4);
puts(a1);puts(a2);
puts(a3);puts(a4);
}
结果输出的是:
aa
bb
cc dd
我不是很明白结果为什么是这样。
我觉得a4里面应该没有值才对,也就是输入完上面的是不会出现结果的,还应该在输入一个字符串!
第二题:
从键盘输入:
ab<回车>
c<回车>
def<回车>
#include<stdio.h>
#define N 6
main()
{ char c[N];
int i=0;
for(;i<N;c[i]=getchar();i++);
for(i=0;i<N;i++) putchar(c[i]);
}
输出的结果是:
ab
c
d
不明白啊!高手解答下!