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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)