2017-02-12 85 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