Bootstrap

【C语言学习疑难杂症】第18期:一个90%的人都会做错的C语言题目,附详细解析

C语言学习疑难杂症】专栏说明:

分享C语言阶段一些容易被大部分同学忽略的重点、难点知识,帮助C语言知识学习的拔高。

专栏地址:

【C语言学习疑难杂症】欢迎订阅访问

//求以下代码的输出
int main()
{
    char a = 0x95, b, c;
   
    b = (a & 0xf) << 4;
        c = (a & 0xf0)>>4;
        a = b | c;
    printf("%x", a);
            return 0;

}

16进制的95是二进制的1001 0101

然后0xf是二进制的0000 0000...0000 1111(32位)

然后a & oxf,会发生整型提升

1111 1111...1001 0101

0000 0000...0000 1111

-------------------------------

0000 0000...0000 0101

0000 0000...0101 0000

赋值给b,发生截断,得到

b=

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;