首页 > 试题广场 >

以下程序的输出结果是( &n...

[不定项选择题]
以下程序的输出结果是()
int main() {
    int a[3][3] = {{1, 2}, {3, 4}, {5, 6}}, i, j, s = 0;
    for(i = 1; i < 3; i++)
        for(j = 0; j <= i; j++) s += a[i][j];
    printf("%d\n", s++);
}


  • 18
  • 19
  • 20
  • 21
首先,可以先把数组画出来   (可以画纸上)
a[3][3] =  {{1, 2}, {3, 4}, {5, 6}}
           =   1   2   0
                3   4   0
                5   6   0

然后,分析循环   
i=1, i<3         {1, 2}
j=0, j <= i      i = 1 时   { (1, 0), (1, 1) }    
                     i = 2 时   { (2, 0), {2, 1), (2, 2) }

得到对应的下标后,再对照刚才画的数组,挨个找对应元素:(草稿纸上圈一圈)
                1   2   0
                3   4   0
                5   6   0        s += a[i][j];   所以加起来就行。

a[1][0] = 3
a[1][1] = 4
a[2][0] = 5
a[2][1] = 6
a[2][2] = 0
sum = 18

printf("%d\n", s++);
最后 sum++ 是后置加加,  所以 printf 取18


发表于 2023-03-23 10:41:40 回复(1)
原来基础不扎实会导致多选题就想多选·····
发表于 2020-10-04 15:09:55 回复(1)
s++输出后再执行
发表于 2021-03-17 17:58:16 回复(0)

a[3][3] = { 1,2,0

3,4,0

5,6,0};    s = 3+4+5+6+0;

发表于 2019-09-25 17:00:47 回复(0)
这坑爹货,我一开始选了A我觉得多选有问题,不多选不能提交,答案竟然单选🙀😾
发表于 2023-02-23 16:42:51 回复(0)
i=1,不是从0开始
发表于 2020-08-31 10:54:31 回复(0)
这踏马是多选题?
发表于 2024-10-13 00:03:48 回复(0)
看到所选我才选了两个真坑
发表于 2022-11-04 21:47:31 回复(0)
***,非让我选两个🫡
发表于 2022-10-05 21:30:33 回复(0)
第一个for执行一回下面的for就执行3回并且是后置加加
发表于 2022-08-23 17:26:49 回复(0)
套路太深了!搞个多远。我就把19选了
发表于 2022-08-12 22:05:16 回复(0)
不是多选嘛
发表于 2022-05-07 11:18:35 回复(0)
i从1开始,而非0;
发表于 2022-04-11 00:18:48 回复(0)