为什么此代码块显示堆栈破坏检测?

时间:2019-05-26 12:50:49

标签: c

因此,我无法运行下面所附的代码。该程序是两个矩阵的乘法。我正在检测堆栈粉碎。我是这个问题的新手。我的操作系统是Ubuntu 18.04

price

1 个答案:

答案 0 :(得分:1)

IN

   for(i=0;i<R1;i++)
   {
           for(j=0;j<C1;j++)
           {
                   scanf("%d",&mat1[R1][C2]);
           }
   }
   printf("Enter 2nd matrix(%dX%d) :",R2,C2);
   for(i=0;i<R2;i++)
   {
           for(j=0;j<C2;j++)
           {
                   scanf("%d",&mat1[R1][C2]);
           }
   }

您未设置所需的索引和矩阵,必须为

    for(i=0;i<R1;i++)
    {
            for(j=0;j<C1;j++)
            {
                    scanf("%d",&mat1[i][j]); /* correct indexes */
            }
    }
    printf("Enter 2nd matrix(%dX%d) :",R2,C2);
    for(i=0;i<R2;i++)
    {
            for(j=0;j<C2;j++)
            {
                    scanf("%d",&mat2[i][j]); /* correct matrix and indexes */
            }
    }

我还建议您验证您的 scanf 返回1以检查使用情况是否输入有效的输入