在阅读内核源码的时候,发现了条件表达式的奇怪用法,一时没有反应过来。下面的内容是从wiki转载而来,用作回顾和备忘.

转载链接:https://zh.wikipedia.org/wiki/%E6%9D%A1%E4%BB%B6%E8%BF%90%E7%AE%97%E7%AC%A6

用法

?:的一般形式为

<表达式1> ? <表达式2> : <表达式3>

其中表达式1为布尔表达式,或真或为假。若表达式1为真,则返回表达式2的值作为整个条件表达式的值。若条件为假,则返回表达式3的值。例如

max =(a > b)? a : b ;

的执行结果就是将a和b中最大值赋给max.

C语言变种

GNU允许C语言省略条件表达式中的表达式2省略,此时表示表达式2与表达式1相同。例如:

a = x ? : y;

等价于

a = x ? x : y;

最新文章

  1. Spring异步功能
  2. App内测神器之蒲公英
  3. Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束
  4. C# 调用一个按钮的Click事件(利用反射)
  5. PowerDesigner导出建表sql脚本
  6. 启动app时全屏显示Default.png
  7. 关于Depth Bounds Test (DBT)和在CE3的运用
  8. C实现类封装、继承、多态
  9. Can’t find file mysql/host.frm
  10. Android中的BroadCast静态注册与动态注册
  11. NHibernate-Generator主键生成方式
  12. BAPI_GOODSMVT_CREATE 移动类型201 CODE = &#39;03&#39; 代码
  13. Maven学习笔记二
  14. 【转】 android5.1里面的user-app的默认权限设置!
  15. Windowns下使用SecuretCRT编写脚本增加高亮
  16. Android软件设计规范---命名规则/代码包设计规则等
  17. [Leetcode 144]二叉树前序遍历Binary Tree Preorder Traversal
  18. 【appium】根据class_name定位元素
  19. oracle同义词是什么意思?
  20. poj 3264 线段树

热门文章

  1. Confluence 6 预览一个文件
  2. https://stackblitz.com/github/cwiki-us-angular/cwiki-us-angular-app 导入后如何添加到自己的项目
  3. 暑假集训 #2 div1 I - Lada Priora 精度处理
  4. luoguP1041 传染病控制 x
  5. MCMC
  6. git 指定自己的sshkey
  7. 使用layui异步请求上传图片在tp5.1环境下出现“请对上传接口返回json”的错误的解决方法
  8. 全面解读php-运算符
  9. 正向代理与反向代理以及Nginx【总结】(转)
  10. 修改ubuntu终端显示目录和计算机名称(转)