这个程序为什么运行不了?求各位大神指点。
#include<stdio.h>#include<stdlib.h>
#include<math.h>
int main()
{
void com_mat(int mat[3][3], int (*A)[3]);
int T_value_mat(int det[3][3]);
int mat[3][3]={{1,2,1},{2,1,2},{2,1,1}};
int (*A)[3];
int i,j,val_mat;
printf("输入一个3*3数组:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",mat[i][j]);
}
printf("\n");
}
val_mat=T_value_mat(mat);
printf("%d\n",val_mat);
if(val_mat!=0)
{
printf("该矩阵的逆矩阵为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",*(*(A+i)+j)/val_mat);
printf("\n");
}
}
return 0;
}
//求矩阵的伴随矩阵
void com_mat(int mat[3][3], int (*A)[3])
{
int temp[4];
int i,j,k,q,t;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
t=0;
for(k=0;k<3;k++)
{
if(k!=i)
{
for(q=0;q<3;q++)
{
if(q!=j)
{
temp[t]=mat[k][q];
t++;
}
}
}
}
A[i][j]=(int)pow(-1,i+j)*(temp[0]*temp[3]-temp[1]*temp[2]);
}
}
printf("该矩阵的伴随矩阵为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",*(*(A+i)+j));
printf("\n");
}
}
//求矩阵的值
int T_value_mat(int det[3][3])
{
int temp[4];
int i,j,k,q,t,sum=0;
for(i=0,j=0;i<3;i++)
{
t=0;
for(k=0;k<3;k++)
{
if(k!=i)
{
for(q=0;q<3;q++)
{
if(q!=j)
{
temp[t]=det[k][q];
t++;
}
}
}
}
sum+=det[i][j]*(int)pow(-1,i+j)*(temp[0]*temp[3]-temp[1]*temp[2]);
}
printf("该矩阵的值为:\n");
return (sum);
}