++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

posted @ 2022-03-22 06:58  Dantezhenniubi  阅读(1352)  评论(0)    收藏  举报
/*鼠标戏龙*/ div#top_nav { display:none } div#bannerbar {display: none;}