Компілятор із помилкою відображає символ "pi"


103

Я тестував якийсь код на Coliru , і отримав дивний вихід. Я спустив код і міг відтворити його за допомогою цього простого фрагмента коду :

int main()
{
    π
}

Вихід на g ++:

вихід на g ++

стук:

вихід на кланг

Наприклад, використання просто pi(без адреси) показує очікуваний результат:

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

Я намагався відтворити це на своїй машині, використовуючи g ++ 4.9.2 та на інших сайтах, але не зміг.

Це якась помилка на цьому сайті, якась конфігурація цих компіляторів?

І чому лише за допомогою адреси оператора ( &) відображається цей символ?


23
Що станеться, якщо ти посадишся &tm;? Чи з’являється ™ показ? У такому випадку ваш вихід інтерпретується як HTML.
тадман

13
@tadman Відповідно до цього сайту ™ не має коду HTML "ім'я", а лише номер HTML-коду: & # 8482; Це дає очікуваний вихід .
simon

53
ахаха, це весело
гонки легкості на Орбіті

4
@ Random832: Це те, що я отримую для перегляду DOM, а не для перегляду джерела. (╯°□°)╯︵ ┻━┻
Гонки легкості на Орбіті

3
Для запису кілька людей, котрі прокоментували тут, знають техніку Coliru. Зараз він знає про це питання. Дякую, що ви підняли його.
Гонки легкості на Орбіті

Відповіді:


114

Це помилка на сайті, оскільки вихід компілятора неправильно не вдався. Компілятор повинен вивести π, але це дійсний HTML, створюючи символ pi, який ви бачите.


чи можемо ми отримати демо-версію десь на зразок колиру, щоб це показати? : P
thecoshman

9
І досить часто забуті втечі виявляються проблемою безпеки. Тому щоразу, коли хтось стикається з ним, ввічливо повідомляти про це адміністратора сайту.
kasperd

50

πє html-кодом для π. Схоже, хтось забув належним чином уникнути речей.


8
700 та золотий знак. Що насправді неприємно, це те, що цей хлопець міг би скористатися цим набагато більше, ніж я,
Щеня

3
@DavidRicherby - представник завищений, і не кладе їжу на стіл.
dtech
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.