#include "stdafx.h"
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
void fun(int *x);
int a[3][3],i;
int *p=&a[0][0];
printf("请输入一个整形矩阵:");
for(i=0;i<3;i++)
{
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
}
fun(p);
printf("输出转置矩阵:\n");
for(i=0;i<3;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
}
return 0;
}
void fun(int *x)
{
int m,n,s;
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
{
s=*(x+3*m+n);
*(x+3*m+n)=*(x+3*n+m);
*(x+3*n+m)=s;
}
}
}
输入:1 2 3 4 5 6 7 8 9
输出:1 2 3
4 5 6
7 8 9
结果依然是原矩阵,是哪一步出问题了呢?