Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在寻找一种很好的可读方式来编写这个(a 和 b 是输入):
int value = 50; if(a == value) return b; if(b == value) return a; return max(a,b);
这很长。我想出了这个,但这还不够清楚:
return (a==value)?b:((b==value)?a:max(a,b))
有没有办法只用最大定义来实现这一点?
代码应该易于阅读和理解。您说的第一个代码太长了,非常清晰,三行代码对于 C 或 C++ 来说并不是不合理的代码量。
如果您经常这样做,请将其打包在一个函数中并调用该函数。如果禁止数字可以更改,请将其作为函数的参数。
请注意,三元表达式本质上与使用if语句的代码相同。他们可能会编译成相同的代码。
if