这是在 20CN网络安全小组第一代论坛 的论坛 菜鸟乐园 中的主题 一个无法理解的c源程序


要查看这个主题,请使用这个 URL:
http://www.20cn.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=1;t=001045

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));
}
}
完毕。谁能告诉我一个理解这段程序的最简单的方法,能够让我很容易的自己编出来(尤其是相乘的那一段)

 
disguise 发表于 :
 
求救,很重要,我不知道为什么这么算
 
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));

 
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));
就是这段不明白,请指教

 
disguise 发表于 :
 
编译过程中,syntax error是什么错误?
 
NetDemon (编号: 2) 发表于 :
 
引用:
发起人 disguise:
编译过程中,syntax error是什么错误?

语法错误
http://www.20cn.com/ubb/Forum5/HTML/000193.html


------------------
微软给了我窗户,因此UNIX给了我房子
微软给我窗户了吗?没有
所以UNIX没有给了我房子
我仍然游荡在Internet上
 






Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。