发布网友
共2个回答
热心网友
scanf("%d",&x);
char *a[x]={0};
c语言不支持这样定义不定长数组。
可用以下方法
scanf("%d", &m);
int *p= (int*)malloc(m*(sizeof(int)));;
memset(p, 0, m);
热心网友
#define Len 256
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,x;
char **a,*p;
scanf("%d",&x);
a=(char**)calloc(x,sizeof(char*));
for(i=0;i<x;i++)
{
a[i]=(char*)malloc(Len);
scanf("%s",a[i]);
}
for(i=0;i<x;i++)
{
p=*(a+i);
printf("%s\n",p);
free(p);
}
free(a);
return 0;
}追答