发布网友 发布时间:2022-04-23 05:49
共2个回答
热心网友 时间:2023-04-30 10:19
void change(int (*p) [3])
{
int i, j, k;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{
k=*(*(p+i)+j);
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=k;
}
}
main()
{
int a[3][3],i,j, k=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=k++;
printf ("原矩阵:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf(" %d",a[i][j]);
printf("\n");
}
change(a);
printf ("变换后:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf(" %d",a[i][j]);
printf("\n");
}
}
如有疑问请留言。
热心网友 时间:2023-04-30 10:19
最简单的方法是定义一个全局指针。
如果想要将子函数中的数组带回到主函数返回值可以用指针数组;
形参可以用指针