#include <stdio.h>
int main
{
int a[3][3],*p;
int i,j,t;
p=a[0];
printf("Input 3*3 matrix:\n");
for(i=0;i<3;i++)
scanf("%d%d%d ",p+i*3+0,p+i*3+1,p+i*3+2);
for(i=0;i<3;i++)
//{
for(j=i;j<3;j++)
{
t=p[i*3+j];
p[i*3+j]=p[j*3+i];
p[j*3+i]=t;
}
//}
printf("Transposition Matrix:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
//{
printf("%d",*(p+i*3+j));
//}
printf("\n");
}
}
main后面缺(), scanf("%d%d%d ",p+i3+0,p+i3+1,p+i*3+2); %d 后面多了‘ ‘空格,修改见注释,供参考:
#include <stdio.h>
int main() //int main 修改
{
int a[3][3],*p;
int i,j,t;
p = a[0];
printf("Input 3*3 matrix:\n");
for (i = 0; i < 3; i++)
scanf("%d%d%d",p + i * 3 + 0,p + i * 3 + 1,p + i * 3 + 2);
//scanf("%d%d%d ",p + i * 3 + 0,p + i * 3 + 1,p + i * 3 + 2); 修改
for (i = 0; i < 3; i++)
//{
for (j = i; j < 3; j++)
{
t = p[i * 3 + j];
p[i * 3 + j] = p[j * 3 + i];
p[j * 3 + i] = t;
}
//}
printf("Transposition Matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
//{
printf("%d ",*(p + i * 3 + j)); //修改 printf("%d",*(p + i * 3 + j));
//}
printf("\n");
}
return 0;
}
scanf的参数没加地址符