오류시 ‘pi’기호를 표시하는 컴파일러 표시됩니다. main.cpp:3:5: error: ‘pi’ was not declared

Coliru 에서 일부 코드를 테스트하고 있었는데 이상한 출력이 나왔습니다 . 코드를 내려가 다음과 같은 간단한 코드로 재현 할 수 있습니다 .

int main()
{
    π
}

g ++의 출력 :

g ++에서 출력

그 소리:

clang의 출력

예를 들어 pi(주소없이) just을 사용 하면 예상되는 결과가 표시됩니다.

main.cpp:3:5: error: 'pi' was not declared in this scope
    pi;
    ^

g ++ 4.9.2 및 다른 사이트를 사용하여 내 컴퓨터에서 재현하려고 시도했지만 할 수 없었습니다.

이 사이트의 버그입니까, 이러한 컴파일러의 일부 구성입니까?

그리고 왜 연산자의 주소 ( &) 만 사용하면 이 기호가 표시됩니까?



답변

컴파일러의 출력이 제대로 이스케이프되지 않기 때문에 사이트의 버그입니다. 컴파일러는를 출력해야 π하지만 유효한 HTML이므로 표시되는 pi 기호가 생성됩니다.


답변

ππ의 HTML 코드입니다. 누군가가 제대로 탈출하는 것을 잊은 것 같습니다.


답변