c语言 下列运行结果 需要详细解释 在线等

若x=3,y=z=4,x<y?x++:y++z+=x>y?x++:y++... 若 x=3,y=z=4,

x<y?x++:y++

z+=x>y?x++:y++
展开
 我来答
匿名用户
2015-02-25
展开全部
先说第一个表达式
x<y?x++:y++

此时 x = 3, y = 4 , x < y ? 成立吗 如果成立输出 x++ 的结果,如果不成立输出 y++ 的结果
很明显成立 所以 输出 x++的结果,x++ 是先输出结果 在进行 ++ 所以 第一个表达式 输出 3;

第二个表达式

z+=x>y?x++:y++

此时 x 由于上个表达式的++ 计算 已经 =4 ,y 由于并没有执行 所以还是 = 4 ,z 还是初始值 = 4
z+=x>y?x++:y++ 等于 z = z + x > y ? x++ : y++
按照优先级关系 首先计算 x >y ? 是否成立 通过上边推算 x = 4 ,y =4 明显不成立 所以返回 y++
此时在计算前边未计算完的 表达式 z = z + y++; y++ 先是输出结果 是4 , z = 4 所以 z = 4 +4
所以输出 结果是8
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式