问号表达式 a?b:c

来源:互联网 发布:warframe淘宝领冰队 编辑:程序博客网 时间:2024/06/04 17:42

    问号表达式在程序中经常出现,宏定义中也是经常出现的

 

1 示例:

     d = a ? b : c 或者if (a ? b : c)等

解释:当a的值为真,结果为b; 当a的值为假,结果为c。

        这里的a,b ,c 不一定是单个的变量或者常量,也可以是表达式。

 

2 示例://多个问号表达式,按照从右到左的顺序计算

  a<b?a:c<d?c:d

解释:先执行的是c<d?c:d,返回c,然后执行a<b?a:c

 

3示例://宏定义

#define max  a>b? a : b 

解释 :返回a,b中最大值,这里是有缺陷的,没有函数类型。

1 0