C语言:下面程序的运行结果是()

5.下面程序的运行结果是()。#include<stdio.h>intmain(){inta=0,i=3;switch(i){case3:a+=3;case1:case2... 5.下面程序的运行结果是( )。
#include <stdio.h>
int main( )
{ int a=0, i=3;
switch(i)
{ case 3: a+=3;
case 1:
case 2: a+=2;break;
default: a+=5;
}
printf("%d ",a);
}
A.3 B. 5 C. 10 D. 0

答案是B 为什么?
展开
 我来答
匿名用户
2018-12-25
展开全部
因为i=3;进入switch(i)后,执行a+=3;后a的值是3;因为没有break语句,它并没退出switch()语句,所以又执行到a+=2。a值变成了5。接着,执行break语句,退出switch(),执行printf()。所以选B
CHENGWENGJI
2018-12-25 · TA获得超过412个赞
知道小有建树答主
回答量:667
采纳率:66%
帮助的人:295万
展开全部
case 3和case 1后面都没有用break,所以不会跳出switch而是继续执行,
所以case 3 a+=3,case 1,case 2 a+=2.然后break,结果为5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式