2017-02-12 104 views
-1

此C代碼的輸出是什麼?增量遞減的按位運算符

#include <stdio.h> 

    void main() 

    { 

     int a = 5, b = -7, c = 0, d; 

     d = ++a && ++b || ++c; 

     printf("\n%d%d%d%d", a, b, c, d); 

    } 

的的answere是6 -6 0 1 我不知道如何爲邏輯的優先級,比以上。

+1

有沒有位運算符在這裏。 – harold

回答

2

會發生什麼是a被1和b使用++a, ++b++a && ++b的結果爲真(其等值1),這正是d得到的結果。

,因爲它讀取true || ++c它不檢查的右手邊,因爲結果顯然true,這就是爲什麼çequlas 0