++a || ++b && ++c在C语言中怎么计算


    1. &&的截断 &&的截断在0,如A&&B,如果A为0,则表达式必为0,后面截断不看,计算也不再运行。

    2. ||的截断
      ||的截断在于非0,如A||B,如果A为非0,则表达式必为1,后面截断不看计算也不再运行。

      int a=0,b=0,c=0,k=0

      首先要明确"与"的优先级高于"或"。

      遇到逻辑与(&&)、或(||)的运算,要将与(&&)运算看成整体(将与运算用括号括起来,使得式中只存在逻辑或)值不变,然后从左向右依次计算,兼顾短路现象。注意这里的括号只起到整体作用,并不是先计算。则原式可化成:k=++a || (++b &&++c);

      ++a表达式的值为1,则逻辑或短路,所以括号内的表达式都不计算。

      因此,输出a=1 b=0 c=0    k=1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM