C语言之条件表达式

conditional expression:

    expr1 ? expr2 : expr3

首先计算expr1,如果结果为真,则计算expr2,其结果也为条件表达式的值;否则,计算expr3,其结果为条件表达式的值。

    如果expr2和expr3的类型不一样,那么按照类型转化的原则转化成一样的类型,此时不论expr1是否为真,条件表达式最终的值都会是类型转化后的值,例如:

    (n > 0) ? f : n

f是float类型,n是整型,此时条件表达式的值是float类型。

    如果在程序中能利用条件表达式代替if-else,就尽量替换,这会使得程序更紧凑。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注