首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这道类型准换题答案是什么啊为什么啊求大师讲解,该怎么解决

2012-03-31 
这道类型准换题答案是什么啊,为什么啊,求大师讲解#include stdio.hint main(){unsigned int a 0xFFFFF

这道类型准换题答案是什么啊,为什么啊,求大师讲解
#include <stdio.h>

int main()
{
  unsigned int a = 0xFFFFFFF7;
  unsigned char i = (unsigned char)a;
  char* b = (char*)&a;

  printf("%o8x, %o8x", i, *b);
  return 0;
}

[解决办法]
假设整型有32位
如果按char型有8位处理,i的值为0xf7
*b的值要看机器的大小端设置。如果是大端,*b为0xff,否则为0xf7
所以最后的输出为fffffff7,ffffffff 或者
fffffff7,fffffff7
因为最后输出时是按整型,都扩展成了整型的位数

热点排行