C中的IF-ELSE语句快捷方式

时间:2013-09-05 21:22:53

标签: c if-statement shortcut

C对速记IF-ELSE语句具有以下语法

    (integer == 5) ? (TRUE) : (FALSE);

我经常发现自己只需要声明的一部分(TRUE或FALSE)并使用此

    (integer == 5) ? (TRUE) : (0);

我只是想知道是否有办法不使用这种速记符号来包含声明的ELSE部分?

2 个答案:

答案 0 :(得分:12)

运算符?:必须返回一个值。如果你没有“else”部分,当布尔表达式为false时它会返回什么?其他一些语言中的合理默认值可能为null,但可能不适用于C.如果您只需要执行“if”并且不需要它来返回值,则键入if会更容易

答案 1 :(得分:4)

问题是我们是否能够以某种方式编写以下表达式而不使用then和else部分

(integer == 5) ? (THENEXPR) : (ELSEEXPR);

如果您只需要那个部分,可以使用&&:

(integer == 5) && (THENEXPR)

如果你只需要使用else部分,请使用||:

(integer == 5) || (ELSEEXPR)
相关问题