为了账号安全,请及时绑定邮箱和手机立即绑定

我打印这两个数组表现出来不对,哪里错了呢

#include <stdio.h>

int main()

{

    //使用第一种方式初始化方式声明并初始化二维数组arr1

    int arr1[][1]={ { 10 , 20 }, { 30, 40 }};

    //使用第二种方式初始化方式声明并初始化二维数组arr2

    int arr2[1][1]; arr2[0][0]=10;arr2[0][1]=20;arr2[1][0]=30;arr2[1][1]=40;

    int i,j;

    for(i=0;i<=1;i++)

    {

        for(j=0;j<=1;j++)

        {

            printf("%d\r",arr1[i][j]);

        }

    }

    

    for(i=0;i<=1;i++)

    {

        for(j=0;j<=1;j++)

        {

            printf("%d\r",arr2[i][j]);

        }

    }

    return 0;    

}


正在回答

2 回答

我觉得是因为数组大小定义的问题吧,arr[2][2]是2*2的数组,你定义一个arr[1][1],无法装下4个数啊

0 回复 有任何疑惑可以回复我~
#1

不偏不易

[1][1]是2*2的数组,前面没看仔细吧? 有[0][0]到[1][1]
2016-02-22 回复 有任何疑惑可以回复我~
#2

慕容6328150 回复 不偏不易

这里的数字代表的是长度,
2016-05-21 回复 有任何疑惑可以回复我~

  int arr1[][1]={ { 10 , 20 }, { 30, 40 }};和 int arr2[1][1];这两个数组要定义为两列的;

printf("%d\r",arr1[i][j]);和printf("%d\r",arr2[i][j]);这两行把\r改为\t

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我打印这两个数组表现出来不对,哪里错了呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信