lipu 发表于 2021-4-25 09:38:12

关于矩阵相乘

#include <stdio.h>
#define M 2
#define N 2
#define P 3

int main ()
{
        int a = {{1, 2, 3},
                                   {4, 5, 6}};
        int b        = {{1, 4},
                                   {2, 5},
                                   {3, 6}};
        int c={0};
        int i,j,k;
       
               for(i=0;i<M;i++)
               {
                       for(j=0;j<N;j++)
                       {
                               for(k=0;k<P;k++)
                               {
                                       c += a * b;
                                       printf("%d\n",c);
                               }
                              
                        }
               }                  

        return 0;
}

为什么这里面输出的这个c会是这样的?
1
5
14
4
14
32
4
14
32
16
41
77

不应该是只有四个数吗?分别是cccc才对吗?

xieglt 发表于 2021-4-25 09:43:15

你在最里头的循环输出结果,
输出次数 = 2*2*3 = 12 次。

lipu 发表于 2021-4-25 09:52:09

xieglt 发表于 2021-4-25 09:43
你在最里头的循环输出结果,
输出次数 = 2*2*3 = 12 次。

懂了,应该在第二层循环输出是吧
页: [1]
查看完整版本: 关于矩阵相乘