美文网首页
在c语言与mingw环境下测试运算符优先级

在c语言与mingw环境下测试运算符优先级

作者: storyteller_F | 来源:发表于2019-04-12 23:17 被阅读0次
    • !(逻辑非)大于*/%+-(算数运算符)
      测试内容 !0*6
      步骤 如果优先级高应该执行0*6,得0,逻辑非运算之后为1;反之,结果为6。逻辑非是单目运算符,逻辑非运算符也比较特殊,个人感觉像是()括号运算符,在使用单目运算符是相当于(!0)*6,因为!只能操作一个变量或者常量,改变!0*6这四个的位置{!6*0 0*!6 6*!0}也得不到什么有用的组合。所以最后应该还是逻辑非优先级大。
      代码演示

    • ==(等于运算符)大于!=(不等于运算符)
      测试内容 1!=1==0
      步骤 如果 ==大于!= 先计算 1==0,得0,在计算1!=0,得1。反之,先计算1!=0 ,得1,然后1==0,得0。
      代码演示

    • != 大于 (按位与)
      测试内容 3&5!=0
      步骤 如果!=运算符优先级高,先计算5!=0,结果为1,然后与3按位与,3的二进制是11,1的二进制是1,最终结果是1。反之,5的二进制是101,结果是11!=0结果是假,最终结果是0
      代码演示

    • &大于^
      测试内容 2^2&2
      步骤 如果过优先级高,先算2&2,结果是10(二进制),然后是10^10,结果是11。反之,先算2^2,结果是11,然后11&10,结果是10
      代码演示

    相关文章

      网友评论

          本文标题:在c语言与mingw环境下测试运算符优先级

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