103

Coliruでいくつかのコードをテストしていたところ、奇妙な出力が得られました。コードを調べたところ、次の簡単なコードで再現できました。

int main()
{
    π
}

g++ での出力:

g++ での出力

クラン:

clang での出力

たとえば、pi(address-of なしで) just を使用すると、期待される結果が表示されます。

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

g++ 4.9.2 を使用して自分のマシンや他のサイトでこれを再現しようとしましたが、できませんでした。

これはこのサイトのバグですか、これらのコンパイラの設定ですか?

そして、なぜ address-of 演算子 ( &) を使用するだけでこの記号が表示されるのでしょうか?

4

2 に答える 2

114

コンパイラの出力が適切にエスケープされていないため、これはサイトのバグです。コンパイラは を出力するはずπですが、これは有効な HTML であり、表示される pi シンボルを生成します。

于 2015-03-05T19:18:34.927 に答える
50

ππ の html コードです。誰かが物事を適切にエスケープするのを忘れたようです。

于 2015-03-05T19:18:57.757 に答える