执行如下 C++ 代码,其输出是( )。
cout << (3 == 3.0);看到 3 == 3.0 先想类型提升:int 转 double 后比较,结果为 true;cout 输出 bool 是 1 不是 1.0。
B 项把 1 写成 1.0 是混淆输出格式;C 项误以为比较结果为 false;D 项认为 false 输出 -1 是 C 语言旧习惯,C++ 输出 0。
本题考查 GESP 一级"基础语法"模块中的类型提升与关系运算。命题人专门放这道题,就是卡住那些只背"int 和 double 不能比较"口诀的考生——实际上 C++ 允许跨类型比较,只是会先做隐式转换。
看到 3 == 3.0 先想类型提升:int 转 double 后比较,结果为 true;cout 输出 bool 是 1 不是 1.0。