我的二维数组输出结果总是不对

img

img


#include<stdio.h>
int main()
{
int i,j,n,m;
int A[i][j];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&A[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%3d",A[i][j]);
}
printf("\n");
}
return 0;
}

i, j 没赋值 A数组不能用i和j设置大小
要先 scanf("%d%d", &n, &m); 对n和m赋值之后用n和m设置A数组的大小

scanf("%d%d", &n, &m);
int A[n][m];

你题目的解答代码如下:

#include <stdio.h>
int main()
{
    int i, j, n, m;
    scanf("%d%d", &n, &m);
    int A[n][m];     // 对n和m赋值之后用n和m设置A数组的大小
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            scanf("%d", &A[i][j]);
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            printf("%3d", A[i][j]);
        }
        printf("\n");
    }
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

//输入的问题,试一下
#include<stdio.h>
int main()
{
int i,j,n,m;
int A[i][j];
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d ",&A[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%3d",A[i][j]);
}
printf("\n");
}
return 0;
}

img


这样输,我发的程序

这样输,你的程序

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632