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时的符号扩展过程。
这道题的参考答案包含了详细的分析和要点总结。点击下方按钮查看完整答案。
答案经过精心组织,帮助你建立系统化的知识框架。