This question already has answers here:
Why doesn't a+++++b work?
(8个答案)
3年前关闭。
我知道
现在我运行了两个程序,但是这让我有些困惑。第一个程序:
输出:8 6 4 2
第二程序:
我收到编译错误:
需要左值作为减量操作数
其实这里发生了什么?为什么第一个程序运行成功而第二个程序却没有运行?
(8个答案)
3年前关闭。
我知道
-->
不是运算符。实际上是两个独立的运算符--
和>
,与下面的外观相同。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;
}
}
我收到编译错误:
需要左值作为减量操作数
其实这里发生了什么?为什么第一个程序运行成功而第二个程序却没有运行?
最佳答案
--x
的结果是一个左值,您可以再次将--
应用于它:--(--x)
。x--
的结果是一个右值,因为--
需要一个左值,所以不能执行(x--)--
。
关于c++ - 关于->在C++中是否感到困惑? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34930721/
10-11 00:35