有定义语句"int a=1,b=2,c=3,x;"以下各程序段执行后,x的值不为3的是 C语言求助!!!

一共有两道题1下列程序段的输出结果是intmain(void){intm,k=0,s=0;for(m=1;m<=4;m++){switch(m%4){case0:case... 一共有两道题
1
下列程序段的输出结果是
int main(void)
{ int m,k=0,s=0;
for(m=1;m<=4;m++){
switch(m%4){
case 0:
case 1:s+=m;break;
case 2:
case 3:s-=m;break; }
k+=s;
}
printf("%d",k);
return 0;}
A.10 B.-2 C.-4 D.-12
2
有定义语句"int a=1,b=2,c=3,x;"以下各程序段执行后,x的值不为3的是
A.if(c<a)x=1;
else if(b<a)x=2;
else x=3;
B.if(a<3)x=3;
else if(a<2)x=2;
else x=1;
C.if(a<3)x=3;
if(a<2)x=2;
if(a<1)x=1;
D.if(a<b)x=b;
if(b<c)x=c;
if(c<a)x=a;
希望两道题都有详解,真的是太谢谢各位了!
展开
 我来答
帐号已注销
推荐于2017-05-19 · TA获得超过816个赞
知道小有建树答主
回答量:410
采纳率:0%
帮助的人:211万
展开全部

第一题(c)

  1. m=1;m%4=1所以s=s+m=0+1=1 k=1

  2. m=2;m%4=2; s=-1 k=0

  3. m=3;s=-4 k=-4

  4. m=4;s=0 k=-4

第二题(c)

A.前两个条件不成立,所以x=3;

B.第一个条件成立,跳过之后条件,x=3;

C.第一个成立,x=3,第二个成立x=2,第三个不成立,所以最终x=2

D.第一个成立,x=2,第二个成立x=3,第三个不成立,所以x=3

更多追问追答
追问
第一题
M=1的我看懂了
但是M=2时,M%4=2,带入case2里面,但是后面不是没式子吗?S=-1是怎么来的呢?
还有M=4的也没明白,麻烦你再给我讲讲吧
谢谢了
追答
C语言规定 CASE 找到之后 如果没有BREAK(就是跳出程序),那么会执行之后所有的CASE里面代码 直到BREAK,这个书上应该有写啊。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式