某同学执行 C++ 代码时 printf("%g\n", (3 + 3.1415926535)); 输出 $6.14159$,其原因最可能是( )。
答案B。根据C++基础知识分析判断。
注意题目中的限定词。不确定时用代入法或排除法。
【考点】printf 默认格式|二进制浮点误差|十进制小数表示
本题考查 GESP 二级大纲中"输入输出格式"与"浮点数表示"两个考点的交叉。命题人故意把二进制舍入误差和 printf 默认格式混在一起,卡住的是那些只会背"浮点数会有误差"却不懂 printf 格式控制细节的考生。