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

来源:6-9 多维数组

St义

2016-01-20 15:29

#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回答

  • 逍遥草0310
    2016-02-06 23:31:05

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

    慕容6328... 回复不偏不易

    这里的数字代表的是长度,

    2016-05-21 13:55:54

    共 2 条回复 >

  • zcmam
    2016-01-20 20:33:57

      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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926025 学习 · 20793 问题

查看课程

相似问题