+ -
当前位置:首页 → 问答吧 → 请教C类型转换??

请教C类型转换??

时间:2010-08-28

来源:互联网

在面试宝典里有道题
  1. unsigned char a = 0xa5;
  2. unsigned char b = ~a >> 4;

  3. printf("b = %d\n", a);
复制代码
~运算符优先级比 >> 高,那么对a取反的时候,要不对a 先进行类型提升啊? 迷惑了。

作者: linfenghuaster   发布时间: 2010-08-28

不太清楚。

貌似出现在表达式里的char全都要类型提升,unsigned char提升为啥就不知道了。移位以后再转回char。

作者: tempname2   发布时间: 2010-08-29

要!
但,提升 还是 不提升 对你的结果不影响

作者: bruceteen   发布时间: 2010-08-29

话说你最后怎么还是输出a啊~~

作者: daybreakcx   发布时间: 2010-08-29