急求!!请教一个关于C语言的问题

原题是这样的:若inti=10,执行下列程序:switch(i){case9:i+=1;case10:case11:i-=1;default:i+=1;}则变量i的正确结... 原题是这样的:
若int i=10,执行下列程序:
switch(i)
{ case 9:i+=1;
case 10:
case 11:i-=1;
default:i+=1;
}
则变量i的正确结果是( )
(请附加详细说明,谢了!!!)
展开
 我来答
caiqiupeng
2008-05-31 · TA获得超过5694个赞
知道大有可为答主
回答量:2979
采纳率:33%
帮助的人:841万
展开全部
I等于10 所以从这里开始
case 10:
case 11:i-=1; /*i=i-1;*/
default:i+=1; /*i=i+1;*/
全部执行

结果 I减1 ,I加1 结果I又是10

如果是这样,那就每个语句执行完就退出switch了,因为有个break跳出循环的语句。
switch(i)
{ case 9:i+=1; break;
case 10: break;
case 11:i-=1; break;
default:i+=1; break;
}
jiaxuandj
2008-05-31 · TA获得超过2964个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:220万
展开全部
10

因为找到Case10了 没有函数,但是没有遇到break 程序则会继续往下运行 直到最后default运行完

你可以看看这个程序 然后在case10处设置断点,单步执行看结果
#include<stdio.h>
void main()
{int i;
i=10;
switch(i)
{ case 9:i+=1;
case 10:
case 11:i-=1;
default:i+=1;
}
printf("%d",i);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ayayahooo
2008-05-31 · TA获得超过1339个赞
知道小有建树答主
回答量:1068
采纳率:0%
帮助的人:0
展开全部
还是10,swich语句将分别执行case10,case11和default语句。
如果你想单独执行某一个case语句,需在这个case语句后加break语句推出循环,否则将一直执行下去,知道遇到break或switch段的结束。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微生籁s4
2008-05-31
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
顺序执行,结果为10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式