其他分享
首页 > 其他分享> > C中的“ – >”运算符是什么?

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 )

标签:standards-compliance,c,operators,code-formatting
来源: https://codeday.me/bug/20190910/1802015.html