C中的1&1补码算子

时间:2016-07-06 05:47:02

标签: c complement

在下面的程序中,为什么~a在输出中打印为10?为什么不-11

#include <stdio.h>

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

1 个答案:

答案 0 :(得分:5)

因为您没有在任何地方保存补充操作的结果。

如果你这样做。

a = ~a;

那么你应该得到不同的结果。

或者您只需打印操作结果:

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