以下代码段执行后输出结果是什么? int func(char c) { if (c) return 1; else return 0; } int main() { printf("%d", func('0')); return 0; }
答案解析
核心考点:字符常量的真值判断。
解题思路分析:
1. '0'的ASCII值为48,在条件判断中非零即为真
2. 函数参数类型匹配:char类型参数传递正确
3. 函数返回值类型正确
选项分析:
A. 错误:误将字符'0'等同于数值0
B. 正确:'0'的ASCII值非零,条件为真
C. 错误:参数类型匹配,无语法错误
D. 错误:无运行时错误
易错点提醒:
混淆字符常量与数值常量的真值判断,注意ASCII字符的数值特性
正确答案:B