我有一个函数,其中包含多个if语句(这不是实际代码)
if(n == 1)
m = 1;
if(n == 2)
m = 2;
if(n == 3)
m = 3;
我希望把它们都做成 ?: 表达式,而不是那样。
(n == 1) ? m = 1;
但它提示需要一个':'
我熟悉C++中的?:表达式,您可以简单地编写:
(n == 1) ? m = 1 : 0;
但是0在这里不会生效。这是一个荒谬的问题,我甚至在谷歌上都找不到答案,因为它忽略了“?:”作为一个词。
答案:很遗憾,答案在评论中。在这个表达式中没有办法“什么都不做”,我应该使用if-else或switch。谢谢。
?:
如何工作? 第二个是 表达这些if
语句链所代表的逻辑的最佳方式是什么? 在我看来,对于第二个问题的答案不是使用?:
。 - grossvogel