在 C++ 中,相等运算符中两个 = 之间的空格是否合法?
Is whitespace between the two ='s in an equality operator legal in C++?
我目前正在向 'Problem solving with C++'(9 日,W. Savitch)学习 C++。这本书展示了一个 while 循环的例子。 while 循环如下所示。
while (ans = = 'Y' || ans = = 'y')
{
//compound statement
}
ans
是 char
类型。
布尔表达式似乎在尝试使用相等运算符,并且在 //compound statement
的上下文中这是有道理的。但是,我一直认为相等运算符中的空格是非法的。即 ==
是合法的,但 = =
是非法的。
当我复制代码并编译它时,我的编译器在遇到 = =
时抛出错误 'expected expression',就好像我正在尝试将表达式分配给变量一样。我几乎可以肯定这是书中的错字。但是,以防万一这本书试图抛出曲线球,我想我会问...
非常感谢!
Is whitespace between the two ='s in an equality operator legal in C++?
没有。 = =
是两个 =
标记。 ==
是一个 ==
令牌。当你指的是后者时,你不能使用前者。
我目前正在向 'Problem solving with C++'(9 日,W. Savitch)学习 C++。这本书展示了一个 while 循环的例子。 while 循环如下所示。
while (ans = = 'Y' || ans = = 'y')
{
//compound statement
}
ans
是 char
类型。
布尔表达式似乎在尝试使用相等运算符,并且在 //compound statement
的上下文中这是有道理的。但是,我一直认为相等运算符中的空格是非法的。即 ==
是合法的,但 = =
是非法的。
当我复制代码并编译它时,我的编译器在遇到 = =
时抛出错误 'expected expression',就好像我正在尝试将表达式分配给变量一样。我几乎可以肯定这是书中的错字。但是,以防万一这本书试图抛出曲线球,我想我会问...
非常感谢!
Is whitespace between the two ='s in an equality operator legal in C++?
没有。 = =
是两个 =
标记。 ==
是一个 ==
令牌。当你指的是后者时,你不能使用前者。