能否将C语言中给定的if-else分支语句简化为单行代码?
当然可以简化
你可以用C语言的**条件运算符(三元运算符)**把这段分支逻辑压缩成单行代码,写法如下:
value = (a > (b + 10)) ? 1 : 0;
甚至可以更简洁——因为在C语言中,关系表达式的结果本身就是int类型的布尔值:条件成立时结果为1,不成立时为0,所以直接把表达式的结果赋值给value就行:
value = (a > (b + 10));
这两种写法和你原来的if-else分支逻辑完全等价,可读性也不错,适合这种简单的二选一赋值场景。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

