gpt4 book ai didi

c - c 中的二维数组的输出方式不正确

转载 作者:行者123 更新时间:2023-11-30 20:04:16 24 4
gpt4 key购买 nike

c中的二维数组我遇到了一个小错误,这把我搞砸了..你能发现任何错误吗,而我应该得到操作

1 2 3
4 5 6
7 8 9

但是我正在做

1 2 4
4 5 7
7 8 9
#include <stdio.h>

int main(int argc,char* argv[])
{
int m;
scanf("%d",&m);
int a[m][m],i,j;
for(i=0;i<=m;i++){
for(j=0;j<=m;j++){
scanf("%d",&(a[i][j]));
printf("%d",a[i][j]);

}

}

for(i=0;i<=m;i++){
for(j=0;j<=m;j++){
printf("%d",a[i][j]);
printf("\t");
}
printf("\n");
}
}

最佳答案

声明:

int a[m][m];

意味着你有一个带有 m 的数组行和 m列,编号自 0m-1 。由于 <=m,您正在尝试访问不属于您的数组的元素。条件。

将两个循环更改为:

for(i=0;i<=m;i++){
for(j=0;j<=m;j++){
scanf("%d",&(a[i][j]));
printf("%d",a[i][j]);
}
}

您现在拥有的:

for(i = 0; i < m; i++){
for(j = 0; j < m; j++){
scanf("%d",&(a[i][j]));
printf("%d",a[i][j]);
}
}

您可以阅读有关索引和数组的更多信息 here .

关于c - c 中的二维数组的输出方式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42277057/

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