0
以下のプログラムでは、~a
が出力に10
と表示されるのはなぜですか?なぜ-11
?Cの1の補数演算子
#include <stdio.h>
int main()
{
int a=10;
~a;
printf("complement : %d\n",a);
}
以下のプログラムでは、~a
が出力に10
と表示されるのはなぜですか?なぜ-11
?Cの1の補数演算子
#include <stdio.h>
int main()
{
int a=10;
~a;
printf("complement : %d\n",a);
}
補数演算の結果をどこにも保存しないためです。
a = ~a;
異なる結果が得られるはずです。
それとも、単に操作の結果を印刷することができます:
printf("complement : %d\n", ~a);
あなたはコンパイラの警告を有効にする必要があります。 – Lundin