C 具有以下简写 IF-ELSE 语句的语法
(integer == 5) ? (TRUE) : (FALSE);
我经常发现自己只需要语句的一部分(真或假)并使用它
(integer == 5) ? (TRUE) : (0);
我只是想知道是否有办法不使用这种速记符号来包含语句的 ELSE 部分?
C 具有以下简写 IF-ELSE 语句的语法
(integer == 5) ? (TRUE) : (FALSE);
我经常发现自己只需要语句的一部分(真或假)并使用它
(integer == 5) ? (TRUE) : (0);
我只是想知道是否有办法不使用这种速记符号来包含语句的 ELSE 部分?
运算符?:
必须返回一个值。如果你没有“else”部分,当布尔表达式为假时它会返回什么?在其他一些语言中,合理的默认值可能为 null,但对于 C 语言可能不是。如果您只需要执行“if”并且不需要它来返回值,那么键入if
会容易得多。
问题是我们是否可以在没有 then 和 else 部分的情况下以某种方式编写以下表达式
(integer == 5) ? (THENEXPR) : (ELSEEXPR);
如果您只需要 then 部分,您可以使用 &&:
(integer == 5) && (THENEXPR)
如果您只需要 else 部分,请使用 ||:
(integer == 5) || (ELSEEXPR)