问答详情
源自:6-9 多维数组

求问,输出的这是个啥?

http://img.mukewang.com/56e3d4920001893805780413.jpg

如图 ,为啥printf出来的不是我赋予值的数组,这是个啥?

另外,不加"%d”就输出不出来显示空白?


提问者:Ciry 2016-03-12 16:34

个回答

  • 慕九州1701935
    2016-05-06 10:34:05

    #include <stdio.h>
    int main()
    {
        //使用第一种方式初始化方式声明并初始化二维数组arr1
        int arr1[2][2]={{10,20},{30,40}};
        //使用第二种方式初始化方式声明并初始化二维数组arr2
        int arr2[2][2];
        arr2[0][0]=10;
        arr2[0][1]=20;
        arr2[1][0]=30;
        arr2[1][1]=40;
        int i,j;
        for (i=0;i<2;i++)
            for(j=0;j<2;j++)
            {
                printf("%d\n",arr1[i][j]); //输出数组arr1的值
                printd("%d\n",arr2[i][j]); //输出数组arr2的值
            }
        return 0;    
    }

    输出数组要遍历数组内的值输出才行

  • Rorai
    2016-03-14 10:52:03

    #include <stdio.h>
    int main()
    {
        //使用第一种方式初始化方式声明并初始化二维数组arr1
        int arr1[2][2]={{10,20},{30,40}};
        //使用第二种方式初始化方式声明并初始化二维数组arr2
        int arr2[2][2];
        arr2[0][0]=10;
        arr2[0][1]=20;
        arr2[1][0]=30;
        arr2[1][1]=40;
        printf("%d\n",arr1[1][1]);
        // printf("%d\n",arr2[1][1]);
        return 0;    
    }
    
    数组的输出不同于像整形这样的数,你需要指定具体的地址