首页 > 试题广场 >

下列程序段的输出结果是()。 int main(

[单选题]
下列程序段的输出结果是()。
int main(void) {
    int x = 1,a = 0,b = 0;
    switch(x) {
        case 0:  b++;
        case 1:  a++;
        case 2:  a++;b++;
    }
    printf("a=%d,b=%d\n", a, b);
    return 0;
}

  • a=2,b=1
  • a=1,b=1
  • a=1,b=0
  • a=2,b=2
case后面不加break,命中对应的分支后,程序继续执行,所以x=1会执行:a++ a++ b++ 所以答案是A
编辑于 2018-05-13 22:35:16 回复(0)
少了个分号啊,这什么程序
发表于 2018-11-18 11:26:14 回复(0)
case1后面没有分号,不会结束,继续执行下一句
发表于 2020-01-24 11:51:18 回复(1)
case语句多条语句不是应该加分号吗

发表于 2023-08-23 20:38:59 回复(0)
x=1,跳进程序。由于没有写 break 跳出程序,执行case1语句后,会继续执行case2语句。
发表于 2022-03-08 17:46:11 回复(0)
A
发表于 2021-03-18 14:16:35 回复(0)
没有分号直接报错((
发表于 2020-03-19 10:34:14 回复(0)

少了分号有影响吗?

发表于 2019-03-27 17:54:59 回复(1)