2
回答
请教一个 C 语言位运算符的问题。
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

很多资料上都说 ~ 运算符的作用是按位取反,下面的程序:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    short int has = 10;
    char val =10 ;
   
    has = ~has;
    val = ~val ;

    printf("%d",has);
    printf("%d",val);
    printf("%d",sizeof(short int));
    
    return 0;
}

输出结果:

-11

-11

  2

为什么前两个输出结果都是 -11? 在这个程序中 short int 是两个字节啊。

<无标签>
举报
麦秸
发帖于5年前 2回/124阅
顶部