#include
#include
void fun(char **p1,char *p2,int p,int q);
int main()
{
int m,n,g,d,f;
char **x;
char *y;
puts("输入行和列");
scanf("%d %d",&m,&n);
while(getchar()!='\n')
continue;
d=m*n;
printf("%d%d",m,n);
x=(char **)malloc(m* sizeof(char *));
for(g=0;g
x[g]=(char *)malloc(n*sizeof(char)+1);
puts("输入二维数组各项");
for(g=0;g
{
gets(x[g]);
}
y=(char *)malloc(sizeof(char)*m*n+1);
fun(x,y,m,n);
for(g=0;g
{
for(f=0;f
putchar(x[g][f]);
putchar('\n');
}
putchar('\n');
puts(y);
putchar('\n');
free(x);
free(y);
return 0;
}
void fun(char **p1,char *p2,int p,int q)
{
int i,j,l=0;
for(i=0;i
{
for(j=0;j
{
p2[l]=p1[i][j];//这个地方写错了!!!!!
l++;
}
}
p2[l]='\0';
}
改了,一般出现这种问题就是你把两个参数弄反了,注释的地方写反了
还有LZ,咱能把代码写规范点不,这样大家一看一目了然,太乱了大家都不想看,特别是程序长的时候
c语言二维数组赋值前面是行还是列 动态二维数组分配有问题啊 为什么行和列相同才能给数组赋值...