关于三目运算符的问题

关于三目运算符的问题

课程中的示例

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?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答
是的,理解正确!这里三目运算符内部执行了一次,最后再把内部最后执行的结果给ret
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师