为什么 (true && true) 会引发错误,而 (1 && 1) 不会?

19 浏览
0 Comments

为什么 (true && true) 会引发错误,而 (1 && 1) 不会?

我原以为C语言将true解释为1,但现在我开始怀疑了。

完整的代码(使用GCC 5.1编译):

if(true && true) // 错误:在此函数中首次使用未声明的'true'
{
}

为什么会出现这种情况?

0
0 Comments

在C语言中,true不像在C++中一样是一个关键字。如果想要使用true,需要先引入#include <stdbool.h>。需要注意的是,truefalsebool可能会在C2x版本中成为关键字。非常期待!

0