2016-07-06 5 views
0

아래 프로그램에서 ~a이 출력되는 이유는 10입니까? 왜 -11일까요?C의 1의 보수 연산자

#include <stdio.h> 

int main() 
{ 
    int a=10; 
    ~a; 
    printf("complement : %d\n",a); 
} 
+0

당신은 컴파일러 경고를 활성화해야합니다. – Lundin

답변

5

어디에서나 보완 연산의 결과를 저장하지 않기 때문에.

예 :

a = ~a; 

다른 결과가 나옵니다.

또는 당신은 단순히 작업의 결과를 인쇄 할 수 있습니다 :

printf("complement : %d\n", ~a);