offera.io
2嵌入式软件工程师
C语言编程/数据类型基础/隐式类型提升

看这段代码,输出是什么?为什么? char c = 0xFF; if(c > 0) printf(“正数”);

题目摘要

嵌入式软件工程师面试题:看这段代码,输出是什么?为什么? char c = 0xFF; if(c > 0) printf(“正数”);?重点考察signed...

  • 岗位方向:嵌入式软件工程师
  • 所属章节:C语言编程
  • 当前小节:隐式类型提升
  • 考察重点:signed char的符号扩展、隐式提升时的符号位处理、以及有符号数和无符号数的区别。
  • 作答建议:这是典型的陷阱题,需要分步分析:先判断char是signed还是unsigned(默认signed),然后分析0xFF在signed char中的实际值,最后说明提升到int时的符号扩展过程。

考察要点

signed char的符号扩展、隐式提升时的符号位处理、以及有符号数和无符号数的区别。

答题思路

这是典型的陷阱题,需要分步分析:先判断char是signed还是unsigned(默认signed),然后分析0xFF在signed char中的实际值,最后说明提升到int时的符号扩展过程。

这道题的参考答案包含了详细的分析和要点总结。点击下方按钮查看完整答案。

答案经过精心组织,帮助你建立系统化的知识框架。