3*3二维数组转置(C语言)

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:47:31
#include<stdio.h>
void main()
{
int exchange(int a[3][3]);
int i,j;
int a[3][3];
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
scanf("%d ",&a[i][j]);
printf("\n");
}
exchange(a[3][3]);
}
int exchange(int a[3][3]);
{int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
printf("%d ",a[j][i]);
}
}
哪里错了?
tc上说
13:Type mismatch in parameter 'a' in call to 'exchange'
16:Declaration termine incorrctly

第一:如楼上所说,应为exchange(a),a[3][3]是一个整数,不是一个指针。第二:定义函数那一行后面的;去掉。第三:把函数声明成void类型的,你的函数没有返回值。函数定义也有点小问题,你自己去处理吧,对整体运行应该没有大的影响了。

exchange(a[3][3]);
用 exchange(a);
a[3][3]是一个int