4
我目前通过'用C++解决问题'来学习C++(第九名,萨维奇)。这本书展示了一个while循环的例子。 while循环如下所示。在C++中,等于运算符是否合法,两者之间是否存在空格?
while (ans = = 'Y' || ans = = 'y')
{
//compound statement
}
ans
是char
类型。 布尔表达式似乎试图使用相等运算符,并在//compound statement
的上下文中这是有道理的。但是,我一直认为在平等运营商中空白是非法的。即==
是合法的,但= =
是非法的。
当我复制代码并编译它时,我的编译器在碰到= =
时会抛出错误'expected expression',就像我试图将表达式分配给一个变量一样。我几乎肯定这是书中的一个错字。然而,以防万一本书试图抛出一个弧线球,我想我会问...
非常感谢!
有人可能会添加标记化阶段,至少在概念上不同,并配备任何语义在踢之前,人类看到,忽略了'='S之间的空间,使得程序是有意义的,但是编译器不能 - 。和不允许 - 看到这一点,因为它不会在标记化过程中理解程序。 *做的阶段*尝试有意义,otoh,不再看到来源;它会看到一系列无用的令牌。 – 2015-02-08 04:26:54
@ T.C。谢谢。所以我坚持打字错误呢?即使在任何情况下都不需要使用'= ='。 – 2015-02-08 05:17:36
@PeterSchneider感谢您的额外信息! – 2015-02-08 05:18:13