关于三目运算符的问题
课程中的示例
int a = 10, b = 20;
int ret = a < b ? (a ^= b, b ^= a, a ^= b) : a * b;
条件为真,所以这串运算我理解为将a和b的值互换,也就是
ret = (b = 10, a = 20);
这里是否可以理解为最后一个a ^= b的结果是20,并将其赋值给了a,此时这个20同时赋值给了ret,所以输出时结果是20?
11
收起
正在回答
1回答
是的,理解正确!这里三目运算符内部执行了一次,最后再把内部最后执行的结果给ret
物联网/嵌入式工程师
- 参与学习 394 人
- 提交作业 22954 份
- 解答问题 1164 个
行业热门,政策风口,人才缺口极大,现在入场时机正好! 上千人检验,数轮迭代的硬核知识体系,软硬件通吃 保姆式教学+简历指导+1V1模拟面试+3次内推,助力轻松就业!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星