有如下程序 #include <stdio.h> main() { int i, k; int array[4][2] = {{1,2}, {4,9}, {6}}; for (i=0; i<2; i++) for

admin2020-11-27  23

问题 有如下程序
#include <stdio.h>
main()
{
    int i, k;
    int array[4][2] = {{1,2}, {4,9}, {6}};
    for (i=0; i<2; i++)
        for (k=0; k<4; k++)
        {
            printf("%d,", array[k]);
        }
    printf("\n");
}
程序运行后的输出结果是

选项 A、1,2,4,9,6,
B、1,4,6,0,2,9,0,0,
C、2,9,0,0,1,4,6,0,
D、2,9,6,1,4,

答案B

解析 二维数组的初始化有两种方式,其中一种是分行初始化,方式为:数据类型数组名[行下标表达式][列下标表达式]={{第0行初值},{第1行初值表},…{最后1行初值表}};,如果初值表只对部分元素赋初值,没有被赋初值的元素将被自动赋值为0,故相当于array[4][2] = {{1,2},{4,9},{6,0},{0,0}}。执行两次for语句,实现按列依次输出数组中元素值为1,4,6,0,2,9,0,0,B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/zd3p777K
0

最新回复(0)