当前位置: 代码迷 >> C语言 >> [求助]拔刀襄助---循环题目
  详细解决方案

[求助]拔刀襄助---循环题目

热度:83   发布时间:2007-07-21 19:01:07.0
[求助]拔刀襄助---循环题目
以下程序的输出结果是
main()
{ int a=0,i;
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);
}
A)31
B)13
C)10
D)20

大家如果知道的话说的越详细越好
谢谢大家的宝贵时间拉
搜索更多相关的解决方案: case  switch  int  

----------------解决方案--------------------------------------------------------
A
宝贵时间拉,不解释了
----------------解决方案--------------------------------------------------------
A
第一次循环:a=8
第二次循环:a=16
第三次循环:a=26
第四次循环:a=31
----------------解决方案--------------------------------------------------------
A
----------------解决方案--------------------------------------------------------

没有break,所以在
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
如果执行了case 3:a+=2;
后没有break。
还要执行case 1,case 2,default。

[此贴子已经被作者于2007-7-21 22:46:52编辑过]


----------------解决方案--------------------------------------------------------
上面的说得对
就是因为你没有break出去
程序会继续执行下面的选择语句
这样一来 default语句每次都要执行了
----------------解决方案--------------------------------------------------------
太好拉
原来是这样
真是谢谢大家;啊
----------------解决方案--------------------------------------------------------
  相关解决方案