weijun_zhang 发表于 2021-4-16 13:49:51

二维数组答疑

我想计算两个二维数组的乘积,为何运行出来,只有第一个元素的结果?

#include <stdio.h>

int main()
{
    int a={
          {1,2,3},
          {4,5,6}};
        int b={
          {1,4},
                {2,5},
          {3,6}};
          int i,j;
          
        int sum=0,p;
        int c;
          for(i=0;i<2;i++)
                {
                   for(j=0;j<2;j++)
             {
                 for(p=0;p<3;p++)
                       {
                          sum=sum+a*b;               
                       }
                       c=sum;
                       printf("%d ",c);
                       j++;
                       sum=0;
                   }
                   i++;       
                }


      return 0;
}

yuxijian2020 发表于 2021-4-16 14:00:18

#include <stdio.h>

int main()
{
    int a={
            {1,2,3},
            {4,5,6}};
      int b={
            {1,4},
                {2,5},
            {3,6}};
            int i,j;
         
      int sum=0,p;
      int c;
            for(i=0;i<2;i++)
                {
                   for(j=0;j<2;j++)
               {
               for(p=0;p<3;p++)
                         {
                            sum=sum+a*b;               
                         }
                         c=sum;
                         printf("%d ",c);
                         j++;                        //这里for里已经j++了这里再++肯定直接跳出循环了啊
                         sum=0;
                   }
                   i++;                               //这里和上面一个道理   说白了你这3层嵌套值执行了一次
                }


      return 0;
}
页: [1]
查看完整版本: 二维数组答疑