code-formatting - c++ 연산자 우선순위 - C ++에서 "->"연산자는 무엇입니까?

C++ 연산자 / c++ / c / operators / standards-compliance

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는 0이됩니다.
    {
        printf("%d ", x);
    }
}
9 8 7 6 5 4 3 2 1 0

37 revs, 25 users 24%



Answer #1

정말 괴짜이지만 나는 이것을 사용할 것입니다.

#define as ;while

int main(int argc, char* argv[])
{
    int n = atoi(argv[1]);
    do printf("n is %d\n", n) as ( n --> 0);
    return 0;
}