2017-02-12 4 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 내가 이해하지 못하는 방법 논리의 우선 순위로 AND OR 이상입니다.

+1

더 비트 연산자는 여기에 없습니다 이유

는 결과가 명확하게 true 때문에 그것은 바로 오른편를 확인하지 않습니다 true || ++c을 읽기 때문에, 즉이다. – harold

답변

2

a은 을 사용하는 b과 마찬가지로 1이 부과됩니다. ++a && ++b의 결과는 true (어느 equlas 1)이며 이는 바로 d의 결과입니다. C의 equlas 0