C语言指针数组的问题寻求帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:20:09
如何实现从键盘输入6组不同字符串,然后使一个指针数组的元素分别指向它们.请高手指点!!!
for(i=0;i<6;i++)
{
scanf(\"%s\",e);
str[i]=&e[0];
}

此方法不行啊.这种方法最后得到的是第六次输入的e,输出的全是一样的

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char *str[6];
char e[100];
int i,len;
for(i=0;i<6;i++)
{
scanf("%s",e);
len=strlen(e);
str[i]=(char *)malloc(sizeof(char)*len);
strcpy(str[i],e);

}
for(i=0;i<6;i++)
{
printf("%s\n",str[i]);
}
}

先从键盘读入一个字符串e,再向内存申请空间,其空间首地址给str[i],然后再把字符串值copy给str[i]就可以了!
最后就是输出到屏幕!
不好意思,之前因为太急,没有调试,直接发了,现在调试过了,应该不会出错!

#include <stdio.h>
#include <stdlib.h>
main()
{
char * p[6];
int i;
for(i=0;i<6;i++)
{
p[i] = (char*)malloc(100);
memset(p[i],0,100);
scanf("%s",p[i]);
}
...
}