C语言改错求解!!!

2025-05-20 21:37:29
推荐回答(3个)
回答1:

修改后:
#include
float matrix(float (*a)[3],int n)
{
int i,j;
float sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++){
if(i==j)
sum=sum+*(*(a+i)+j);
if(j==2-i&&i!=j)
sum=sum+*(*(a+i)+2-i);
}
return sum;
}
void main()
{
int i,j;
float a[3][3];

printf("输入3X3数组\n");

for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);

printf("sum=%0.2f\n",matrix(a,3));
}

回答2:

把float matrix(float *a[3],int n)
改成这句就行了!
float matrix(float (*a)[3],int n)

回答3:

float matrix(float *a[3],int n),中的n参数没有用到,将n删除或进行其他操作后看看有错吗