#include "stdio.h"
#include "string.h"
#define S 5
#define L 2
void main()
{
char a[S][L];
int i;
printf("please input:\n");
for(i=0;i<S;i++)
gets(a[i]);
printf("\noutput:\n");
for(i=0;i<S;i++)
printf("%s\n",a[i]);
}
这是我的原程序.
运行后的结果为:
please input:
a1
b1
c1
d1
f1
output:
a1b1c1d1f1
b1c1d1f1
c1d1f1
d1f1
f1
小弟有点不明白为什么不是显示:
output:
a
b
c
d
f
我定义的是a[5][2]当我输入c1时gets()不能自动把后面多的1去掉吗?我把他换成 scanf("%s",a[i])结果还是一样.
不知道有没有什么输入函数能把我输入的字符自动变成定义的大小呐?
如:我订义的是a[5]当我输入abcde时在a[5]里保存的应该是'a','b','c','d','\0'可是结果确是一样把abcde输出来了.但这样应该是越界了吧.