急求!!请教一个关于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的正确结果是( )
(请附加详细说明,谢了!!!) 展开
若int i=10,执行下列程序:
switch(i)
{ case 9:i+=1;
case 10:
case 11:i-=1;
default:i+=1;
}
则变量i的正确结果是( )
(请附加详细说明,谢了!!!) 展开
4个回答
展开全部
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;
}
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;
}
展开全部
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);
}
因为找到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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是10,swich语句将分别执行case10,case11和default语句。
如果你想单独执行某一个case语句,需在这个case语句后加break语句推出循环,否则将一直执行下去,知道遇到break或switch段的结束。
如果你想单独执行某一个case语句,需在这个case语句后加break语句推出循环,否则将一直执行下去,知道遇到break或switch段的结束。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询