问我是否应该使用诸如TRUE和FALSE这样的符号名称来表示布尔常量,还是使用普通的 1 和 0?
答这是你的选择。像下面的预处理器宏TRUE和FALSE(当然,还有NULL)是出于代码可读性的考虑,而不是因为底层值可能会改变。是使用符号名称还是原始的 1/0 值,这属于风格问题,而非正确性问题。(另请参阅问题 5.10 和 17.10。)
一方面,使用像TRUE或FALSE这样的符号名称会提醒读者涉及的是布尔值。另一方面,布尔值和定义显然会引起混淆,有些程序员认为TRUE和FALSE宏只会加剧这种混淆。(另请参阅问题 5.9。)