美文网首页
C三目运算符?:

C三目运算符?:

作者: ww4u | 来源:发表于2020-12-24 20:02 被阅读0次
    • 某日看linux源码时,无意中发现
    return copied ? : err;
    
    • 这是什么鬼?乍一眼看去貌似不合符语法规则
    • 于是翻看了C99规范


      C99
    • 貌似也没有省略的说明
    • C89中也没有这个相关的描述


      C89
    • 在MSVC中这个语法是编译不了的


      msvc
    • GCC倒是可以


      GCC
    • 这等价于
    d = a ? a : 1;
    

    省略了2行代码(一个MOV,一个JMP)

    相关文章

      网友评论

          本文标题:C三目运算符?:

          本文链接:https://www.haomeiwen.com/subject/clfvnktx.html