void sort(int **p)
{
int t;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
t = p[i][j];
p[i][j] = p[j][i];
p[j][i] = t;
}
}
void sort(int* a[])传入的是一个指针数组。
可以使用 void sort(int **a)传二维数组。
对于int a[m][n]={}定义的二维数组,可以等价为m*n的一维数组int a[m*n];
自定义函数中建议不要使用二级指针,容易出错。
如有帮助,请采纳一下,谢谢。
代码如下:
#include <stdio.h>
void sort(int **p)
{
int t;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
t = p[i][j];
p[i][j] = p[j][i];
p[j][i] = t;
}
}
}
int main()
{
int **b = new int*[4];
for (int i = 0;i <4;i++)
{
*b = new int[4];
for (int j = 0;j < 4;j++)
{
(*b)[j] = j; //赋值
}
}
sort(b);
getchar();
getchar();
return 0;
}