C中的“ – >”运算符是什么?

在comp.lang.c .moderated上阅读Hidden Features and Dark Corners of C++/STL后,我完全惊讶于以下代码片段在Visual Studio 2008和G 4.4中编译和工作.

这是代码:

#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}

我假设这是C,因为它也适用于GCC.标准中定义了哪里,它来自何处?

解决方法:

– &GT不是操作符.它实际上是两个独立的运算符, – 和>.

条件的代码递减x,同时返回x的原始(未递减)值,然后使用>将原始值与0进行比较.操作符.

为了更好地理解,该声明可以写成如下:

while( (x--) > 0 )
上一篇:PHP中if($a == $b和$a == $c)语句的简写表达式


下一篇:c# – 平等和分配运算符