gpt4 book ai didi

c++ - 为什么这个矩阵乘法代码不起作用

转载 作者:行者123 更新时间:2023-11-30 19:55:12 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<conio.h>
int main()
{
int ar1[3][3] = {{1,0,0},{0,1,0},{0,0,1}};
int ar2[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int ar3[3][3];
int i,j,k;
for(i=0;i<3;i++)
{
ar3[i][j] = 0;
for(j=0;j<3;j++)
{
for(k=0;k<3;k++)
{
ar3[i][j] = ar3[i][j]+(ar1[i][k]*ar2[k][j]);
}
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++);
printf("%d\t",ar3[i][j]);
}
getch();
return 0;
}

当我在 Dev C++ 中编译代码时,它没有给出任何错误,但无法运行并且应用程序停止工作。有什么问题吗?

最佳答案

上线

ar3[i][j] = 0;

j 仍然是垃圾,因此您会得到未定义的行为,这可能会导致不同类型的错误 - 错误的结果、段错误,在某些罕见的情况下,它甚至可能会像预计。

将该行移到第二个循环内。

关于c++ - 为什么这个矩阵乘法代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36138869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com