作者
|
标题: 一个无法理解的c源程序
|
disguise
未注册
|
| |
题目:输入一个2*3的整数矩阵和一个3*2的整数矩阵,请使用指针数组实现这两个矩阵的相乘。 #include<stdio.h> main() {static int a[2][3],b[3][2],result[2][2]; int *p[3]; p[0]=a[0];p[1]=b[0];p[2]=result[0]; printf("\n the 1st matrix;\n"); for(int i=0;i<2;i++) {printf("new line:\n"); for(int j=0;j<3;j++) scanf("%d",p[0]+3*i+j); } printf("\n the 2st matrix;\n"); for(int i=0;i<3;i++) {printf("new line:\n"); for(int j=0;j<2;j++) scanf("%d",p[1]+2*i+j); } /以下的开始相乘/ for(int i=0;i<2;i++) for(int j=0;j<3;j++) for(int k=0;k<2;k++) *(p[2]+2*i+k)+=*(p[0]=3*i+j)*(*(p[1]+2*j+k)); for(int i=0;i<2;i++) {printf("\n"); for(int j=0;j<2;j++) printf("%d,",*(p[2]+2*i+j)); } } 完毕。谁能告诉我一个理解这段程序的最简单的方法,能够让我很容易的自己编出来(尤其是相乘的那一段)
| |
IP: 已记录
|
|
|
disguise
未注册
|
| |
求救,很重要,我不知道为什么这么算
| |
IP: 已记录
|
|
|
disguise
未注册
|
| |
for(int i=0;i<2;i++) for(int j=0;j<3;j++) for(int k=0;k<2;k++) *(p[2]+2*i+k)+=*(p[0]=3*i+j)*(*(p[1]+2*j+k));
| |
IP: 已记录
|
|
|
disguise
未注册
|
| |
for(int i=0;i<2;i++) for(int j=0;j<3;j++) for(int k=0;k<2;k++) *(p[2]+2*i+k)+=*(p[0]=3*i+j)*(*(p[1]+2*j+k)); 就是这段不明白,请指教
| |
IP: 已记录
|
|
|
disguise
未注册
|
| |
编译过程中,syntax error是什么错误?
| |
IP: 已记录
|
|
|
|