2016-07-06 5 views
0

以下のプログラムでは、~aが出力に10と表示されるのはなぜですか?なぜ-11Cの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);