我是c新手,试图以矩阵形式显示数组。我看过教程,但大多数都涉及 for 循环以在二维数组中应用矩阵概念。我正在使用 while 循环并以我的方式检查它。它虽然以矩阵形式显示,但没有显示准确的输出。如果我插入数字1,2..,9,它必须以如下形式显示:
1 2 3
4 5 6
7 8 9
但它显示为:
1 2 4
4 5 7
7 8 9
我无法理解为什么会发生这种情况。
#include<stdio.h>
#include<conio.h>
void main()
{
int i=0,j=0;
int arr[2][2];
clrscr();
while(i<=2)
{
j=0;
while(j<=2)
{
scanf("%d",&arr[i][j]);
j++;
}
i++;
}
i=0;
while(i<=2)
{
j=0;
while(j<=2)
{
printf("%d ",arr[i][j]);
//printf("%c",k);
j++;
//k++;
}
printf("\n");
i++;
}
printf("%d",arr[0][2]);
getch();
最佳答案
你只需要以正确的方式声明二维数组即可存储9个元素,如下所示
int arr[3][3]; //3x3 =9 elements
您被声明为 arr[2][2] 。这是一个二维数组,存储四个元素 2x2 = 4
关于c - 以二维数组显示矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551799/