如何将代码及指定分支赋值代码转换为三元运算符?
如何将分支代码
if(a>b) { x=a; y=b; } else { x=b; y=a; }转换为三元运算符? 针对这个具体的分支逻辑,因为两个分支里都有两条赋值语句,我们可以用逗号把同分支的语句连起来,再用括号包裹,最终转换后的代码如下:
a > b ? (x = a, y = b) : (x = b, y = a);
简单解释:
- 保留原判断条件
a > b - 当条件为真时,依次执行
x = a和y = b,逗号在这里的作用是按顺序执行多个表达式 - 当条件为假时,依次执行
x = b和y = a,完全对应原if-else的逻辑 - 补充一句:如果你的目的是让
x存较大值、y存较小值,有些语言有更简洁的写法,但用三元运算符的话,上面的代码就是最贴合原逻辑的转换方式
内容的提问来源于stack exchange,提问作者Sayok Sarkar
相关产品推荐
相关产品推荐

