【发布时间】:2016-03-21 18:25:59
【问题描述】:
#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++ 中编译代码时,它没有给出任何错误但无法运行并且应用程序停止工作。有什么问题?
【问题讨论】:
-
C 和 C++ 是不同的语言!这看起来像 C!
-
@Olaf:他正在使用 C++ 编译器。代码是(除了错误)有效的 C++。请do not retag based on (lack of) API usage
-
@BenVoigt:我不是千里眼。我在哪里错过这不是编译为C? AFAIK Dev C++ 是一个可用于 C 和 C++ 代码开发的 IDE,所以提到 IDE 并没有暗示所使用的语言。它只使用 C 结构。
-
@Olaf 如果您不是千里眼 - 为什么您“知道” OP 将代码编译为 C 而不是 C++?正如所指出的,代码对于 C 和 C++ 都是有效的。唯一反对它的是使用未初始化的变量作为索引,并包含
stdio.h,但是作为C程序的有效性也会失效,并且包含非标准头(conio.h)表明另一个非标准标题可能没问题。
标签: c++ c arrays multidimensional-array matrix-multiplication