关于 --> 在 C++ 中的混淆?
Confusion regarding --> in c++?
我知道 -->
不是运算符。它实际上是两个独立的运算符 --
和 >
。它与下面的操作相同。
while( (x--) > 0 )
现在我 运行 有两个程序,但它让我有些困惑。
第一个程序:
int main(void)
{
int x = 10;
while(----x>0)
{
cout<<x<<endl;
}
}
输出: 8 6 4 2
第二个节目:
int main(void)
{
int x = 10;
while(x---->0)
{
cout<<x<<endl;
}
}
我遇到编译错误:
lvalue required as decrement operand
这里到底发生了什么??为什么第一个程序 运行 成功而第二个程序不成功??
--x
的结果是一个左值,你可以再次对它应用--
:--(--x)
.
x--
的结果是一个右值,因为 --
需要一个左值,你不能做 (x--)--
。
我知道 -->
不是运算符。它实际上是两个独立的运算符 --
和 >
。它与下面的操作相同。
while( (x--) > 0 )
现在我 运行 有两个程序,但它让我有些困惑。
第一个程序:
int main(void)
{
int x = 10;
while(----x>0)
{
cout<<x<<endl;
}
}
输出: 8 6 4 2
第二个节目:
int main(void)
{
int x = 10;
while(x---->0)
{
cout<<x<<endl;
}
}
我遇到编译错误:
lvalue required as decrement operand
这里到底发生了什么??为什么第一个程序 运行 成功而第二个程序不成功??
--x
的结果是一个左值,你可以再次对它应用--
:--(--x)
.
x--
的结果是一个右值,因为 --
需要一个左值,你不能做 (x--)--
。