C语言二级指针题

发布网友

我来回答

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;
}追答

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com