题目:编一个C程序,它能读入矩阵A的行数L,列数M,矩阵B的列数N,矩阵B的行数是M
。L,M,N值都小于20,以及按行读入矩阵A的L*M个元素(整数)及矩阵B的M*N个元素(
整数),计算并输入A和B的矩阵乘积(按行,列输出)。(输入时,相邻的两个整数用
空格隔开)。
程序设计:
#include "stdio.h"
main()
{int a[20][20],b[20][20],c[20][20];
int t,m,n,i,j,k;
printf("please inter a[l][m] and a[m][n] of l,m,n:");
scanf("%d,%d,%d,"&t,&m,&n);
printf("\n");
printf("please inter a[l][m]:\n");
for(i=0;i<t;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
printf("please inter b[m][n]:\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);
for(i=0;i<t;i++)
for(j=0;j<n;j++)
{c[i][j]=0;
for(k=0;k<m;k++);
c[i][j]+=a[i][k]*b[k][j];
}
printf("c[l][n]=a[l][m]*b[m][n]:");
for(i=0;i<t;i++)
{printf("\n");
for(j=0;j<n;j++)
printf("%-5d",c[i][j]);
}
printf("\n);
}
编译的时候出现这样的错误:
错误6:非法指针运算在main函数中
警告9:可能在"t"定义前使用它在main函数中
警告16:可能在"t"定义前使用它在main函数中
警告23:可能在"t"定义前使用它在main函数中
t我在使用的时候已经定义了啊,为什么会这样显示呢?
我找不出原因来,哪位高手能帮我指点一下吗?