C语言题,以下程序的输出结果是

#include"stdio.h"main(){inta,i;a=0;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:... #include "stdio.h"
main()
{
int a,i;
a=0;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
printf("%d\n",a);
}
}
展开
 我来答
初出茅庐jt
2008-08-25 · TA获得超过115个赞
知道答主
回答量:67
采纳率:0%
帮助的人:81.2万
展开全部
#include "stdio.h"
main()
{
int a,i;
a=0;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2; \*i=13的时候根据switch语句的功能,从这儿开始执行,由于没有break打断因此一下每条语句都再一次执行*\
case 2:a+=3; \*i=2的时候根据switch语句的功能,从这儿开始执行,由于没有break打断因此一下每条语句都一次执行*\

case 1: \*i=1的时候根据switch语句的功能,从这儿开始执行,由于没有break打断因此一下每条语句都一次执行*\
case 2:a+=3; \*i=2的时候根据switch语句的功能,从这儿开始执行,由于没有break打断因此一下每条语句都一次执行*\

default:a+=5; \*i=4的时候根据switch语句的功能, 由于没有找到4标号,所以只执行这一条*\
}
printf("%d\n",a);
}
}
结果是31,我说的只是原理,你可以根据上面别人说的过程就会明白的。
蜜长青
2008-08-25 · TA获得超过1801个赞
知道小有建树答主
回答量:1849
采纳率:0%
帮助的人:1432万
展开全部
#include "stdio.h"
main()
{
int a,i;
a=0;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
printf("%d\n",a);
}
}

i是1的时候执行a+=3得3再执行a+=5 得8 输出8
i=2的时候执行 a+=3得11再执行a+=5得16 输出16
i=3时执行a+=2得18 a+=3得21再执行a+=5得26 输出26
i=4的时候执行a+=5得31输出31
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolfboy55
2008-08-25 · TA获得超过138个赞
知道答主
回答量:265
采纳率:0%
帮助的人:136万
展开全部
经过理论分析i=1时,进入程序,执行语句a+=3; 即a=a+3,a=3,再执行a+=5,即a=a+5=3+5=8
然后马上输出结果a=8,你用单步追踪法,也可以知道我的分析没错。按ctrl+f7,打进,a,再按f8一直追踪你要检查的语句
8
第2次,a=8+3=11,再1a+5=11+5=16
16
26
31
剩下的类似,你应该回去再看看switch语句的用法
这很简单,希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤独的刈麦人
2008-08-25
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
根据i值不同,每次从相应 case 处开始执行,注意 case 后没有 break; 语句, 因此执行完相应 case 语句后,程序会继续向下执行,直到最后,因而最终结果为 8 16 26 31 所以在编程的时候一定要注意不要遗漏每条 case 语句后面的 break ; 否则会造成错误的结果~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pk246
2008-08-25 · TA获得超过400个赞
知道答主
回答量:402
采纳率:0%
帮助的人:0
展开全部
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
printf("%d\n",a);
}

switch在for循环里面
switch接受i的值
如果i为0 不执行操作
i为3 执行a+=2;
。。。。。

switch执行完后再接着执行for循环 一共执行4次
i的值依次为 1 2 3 4
switch 每次接受的i的值都不一样 执行的语句也不一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式