[求助]关于指针数组??
如果想从键盘输入三个不等长的字符串,用指针数组怎么实现main()
{char *c[3];
int i;
for (i=0;i<3;i++)
scanf("%s",c[i]); [这里能用gets函数吗?]
for (i=0;i<3;i++)
printf("%s\n",c[i]);
}
不知道有什么问题,每次运行,只能打出出c[1]的字符串,第一行显示(null),第三行是乱码
请各位高手指点,最好能给段代码
谢谢!
2006-07-28 16:32
2006-07-28 16:40
2006-07-28 16:42
2006-07-28 16:53

2006-07-28 17:00
2006-07-28 17:08
2006-07-28 17:26
我来写一个...
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
int i;
char *c[20];
char s[20]; /*临时存储输入的字符串*/
for(i=0;i<3;i++)
{
gets(s);
c[i]=(char*)malloc(strlen(s)+1);
strcpy(c[i],s);
}
}

2006-07-28 17:47
2006-07-28 17:53
9楼的朋友的代码里的
c[i]=(char*)malloc(strlen(s)+1);
strlen(s)是指的字符串的长度吧,为什么要加1呢?
不懂哦
2006-07-28 18:23