有关如下 C++ 代码的说法,正确的是( )。
float a = 3 + 3.5; cout << a;
- A. 代码执行将报错。如果将 a = 3 + 3.5 改为 a = 3 + 3 + 1/2 将能正常执行
- B. 代码执行将报错。如果将 a = 3 + 3.5 改为 a = 3.0 + 3.5 将能正常执行
- C. 代码能正常执行,将输出 6
- D. 代码能正常执行,将输出 6.5
正确答案:D
float a = 3 + 3.5; cout << a;
正确答案:D
3 + 3.5 中整数 3 会自动转成 double 参与运算,结果 6.5 赋给 float a,代码合法,输出 6.5,选 D。整型与浮点型混合运算会自动向浮点型提升,不会报错。💡 注意 1/2 是整数除法得 0,这也是 A 的陷阱。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习