gpt4 book ai didi

c - 我的二维数组多了一个元素

转载 作者:行者123 更新时间:2023-12-02 08:32:30 24 4
gpt4 key购买 nike

我正在尝试从用户输入二维数组,我的数组大小是 6,但我可以输入 7 个元素。这里的错误是什么?你能告诉我如何使用单指针从用户输入二维数组吗?

#include <stdio.h>

int main()
{
int a[2][3] = {0};
int i=0,j=0,l=0;
printf("enter 2d");

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d\n",&a[i][j]);
}
}

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

return 0;
}

这是我的输出:

./input2dusingsinglearray 

enter 2d

1
2
3
4
5
6
7

1
2
3
4
5
6

最佳答案

问题出在你的 scanf 等待额外的介绍,更改为:

#include <stdio.h>

int main(void)
{
int a[2][3] = {0};
int i=0,j=0,l=0;

printf("enter 2d\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d\n",a[i][j]);
}
}
return 0;
}

另请注意,二维数组必须以这种方式初始化:

int a[2][3] = {{0},{0}};

打开警告:

warning: missing braces around initializer [-Wmissing-braces]

关于c - 我的二维数组多了一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145030/

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