阅读下列程序,则执行结果是 main() { inta=0,b=0,c=0,i; for(i=0;i

阅读下列程序,则执行结果是 main() { inta=0,b=0,c=0,i; for(i=0;i,第1张

选C,原因是 case语句后面要加break不然它就会接着往下执行所以就会出现如下的状况:

i=0

case a=i++ 所以a=0,然后i=i+1=1

然后执行

b=i++.所以 b=i=1,然后i=i+1=2

然后执行c=i++,所以c=i=2,然后i=i+1=3

然后执行i++,所以i=i+1=4

然后这次循环结束,要执行 for()循环里面的第三个判定,i++

所以 i=i+1=5

所以说是 0,1,2,5

程序的运行结果为:

44

解释如下:

1. 定义了两个变量 x 和 y,并初始化 x 值为 6,y 值为 0。

2. 进入条件语句 if(y=1),将 y 赋值为 1,并返回 y 的布尔值,即 true,因此进入 if 语句块。将 x 的值赋为 5。

3. 输出 x 的值,即 5。

4. 进入下一个条件语句 if(y=0),将 y 赋值为 0,并返回 y 的布尔值,即 false,因此进入 else 语句块。将 x 的值赋为 4。

5. 输出 x 的值,即 4。

所以最终输出的结果为 4 4。需要注意的是,if 语句中的赋值表达式 y=1 和 y=0 是合法的,但可能会影响程序的逻辑,应该避免在条件判断语句中使用赋值表达式。

if(m++>5)相当于if(m>5)后再m++

所以if(5>5)为FALSE,走else printf("%d\n",m--)相当于先printf("%d\n",m)再m--

所以答案是6


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8058768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存