我知道那-->不是运营商.它实际上是两个独立的运算符--和>.它与下面的操作相同.
while( (x--) > 0 )
Run Code Online (Sandbox Code Playgroud)
现在我运行了两个程序,但它在我身上引起了一些困惑.
第一个计划:
int main(void)
{
int x = 10;
while(----x>0)
{
cout<<x<<endl;
}
}
Run Code Online (Sandbox Code Playgroud)
产出: 8 6 4 2
第二个程序:
int main(void)
{
int x = 10;
while(x---->0)
{
cout<<x<<endl;
}
}
Run Code Online (Sandbox Code Playgroud)
我有编译错误:
lvalue需要作为递减操作数
其实这里发生了什么?为什么第一个程序运行成功而不是第二个程序?
Ben*_*igt 15
结果--x是左值,你可以--再次申请:--(--x).
结果x--是一个右值,因为--需要一个左值,你做不到(x--)--.
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |