0

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

#include <stdio.h>

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

1 回答 1

5

因为您不会将补码运算的结果保存在任何地方。

如果你这样做

a = ~a;

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

或者您可以简单地打印操作结果:

printf("complement :  %d\n", ~a);
于 2016-07-06T05:48:37.587 回答