mwfd.net
当前位置:首页 >> C语言中给B赋值B=0X12345678是什么意思?输出B=%x... >>

C语言中给B赋值B=0X12345678是什么意思?输出B=%x...

/* b=0X12345678代表16进制的12345678 b=%x表示将b以%x的格式输出, 也就是以16进制的格式 如果输出的是78, 那么这个b应该是char类型 即b只占一个字节, 这样自动舍弃123456这前3个字节 所以b=0x78 不知道你的b变量是char类型吗 */

输出5678 因为B是16进制的12345678 而一般情况下。long 类型占用4个字节。 也就是个16进制的4位。剩下将会出现溢出 即输出5678。。前面的因为放不下了。

输出是:12345678 b的值是0x12345678 输出的格式是0x格式,即十六进制的,而b的十六进制就是0x12345678

0x12345678是个十六进制数,后面的L表示这是个长整型数,输出5678。%x的格式是十六进制整型数输出,因为y是个短整型数,把x的值0x12345678L赋给y,y所分配的内在空间放不下这个数,所以只取x的低字节部分5678,因而输出结果也就是5678

网站首页 | 网站地图
All rights reserved Powered by www.mwfd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com