程序代码:
int i,j;
*n = 0;
for(i=0;i<mm;i++)
for(j=0;j<nn;j++)
b[(*n)++]=s[i][j];
return *n;
*n++ 不能这样写 n不是数组 n++ 指向未分配的内存
用*n计数后 就不需要再用b++了
*n作为计数器 应该在开始时 清零
函数返回int 需要返回最后的计数值

人生是一场错过 愿你别蹉跎
程序代码:#include <stdio.h>
main()
{ int fun(int (*s)[10],int *b,int *n,int mm,int nn);
int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}};
int a[100],i,j,n=0;
printf("array a:\n");
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%d ",w[i][j]);
printf("\n");
}
fun(w,a,&n,3,4);
printf("array b:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
int fun(int (*s)[10],int *b,int *n,int mm,int nn)
{
int i, j;
for(j = 0; j < nn; j++)
for(i = 0; i < mm; i++)
b[(*n)++] = s[i][j];
return 0;
}
上次没看清

程序代码:#include <stdio.h>
main()
{ int fun(int (*s)[10],int *b,int *n,int mm,int nn);
int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}};
int a[100],i,j,n=0;
printf("array a:\n");
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%d ",w[i][j]);
printf("\n");
}
fun(w,a,&n,3,4);
printf("array b:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
int fun(int (*s)[10],int *b,int *n,int mm,int nn)
{
int i, j;
for(i = 0; i < mm; i++)
for(j = 0; j < nn; j++)
b[(*n)++] = s[i][j];
return 0;
}
那就这个
