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