bool() 函数用于将给定参数或表达式转换为布尔类型。语句 bool(-1) 返回的是 false 值。( )
这题考bool()的隐式转换规则,核心是C++里非零即真,拿到题先想-1是不是0,不是就定true,题干说false直接判错。
学生常把bool(0)=false记成‘只有0是false,别的都true’,但看到负数-1时容易受‘负’字干扰,下意识觉得负数也是false,或者混淆成其他语言里负数转bool的特殊规则。其实C++里bool转换只看是不是0,-1这种非零整型无论正负都转true,题干故意用-1挖这个坑。
【考点】类型转换|布尔值判定|非零即真规则
GESP二级C++模块第4章「类型与转换」必考题。命题人专挖‘非零转布尔’的绝对规则盲区,卡住所有只会背bool(0)=false但不懂非零即真的考生。