编译器在错误时显示“ pi”符号


103

我在Coliru上测试了一些代码,但得到了奇怪的输出。我记下了代码,可以用以下简单的代码重现它:

int main()
{
    π
}

在g ++上的输出:

在g ++上输出

铛:

c输出

例如,仅使用pi(不指定地址)显示预期结果:

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

我尝试使用g ++ 4.9.2和其他站点在我的机器上重现此错误,但我无法。

这是此站点上的某些错误,还是这些编译器的某些配置?

为什么只使用地址运算符(&)来显示此符号?


23
如果输入,会发生什么&tm;?您会看到™吗?如果是这样,您的输出将被解释为HTML。
tadman

13
@tadman根据此站点 ™没有HTML“名称”代码,只有HTML数字代码:™ 这给出了预期的输出
simon 2015年

53
啊哈哈,这太好笑了
Lightness Races Orbit

4
@ Random832:这就是我浏览DOM而不是查看源代码所得到的。(╯°□°)╯︵ ┻━┻
Lightness比赛于

3
作为记录,在这里发表评论的一些人都知道Coliru维护者。他现在知道了这个问题。谢谢你提出来。
Lightness Races Orbit

Answers:


114

这是站点上的一个错误,因为编译器的输出未正确转义。编译器应输出π,但这是有效的HTML,并生成您看到的pi符号。


我们可以在像coliru这样的地方进行现场演示吗?:P
thecoshman

9
而且常常被遗忘的转义实际上是一个安全问题。因此,每当遇到此问题时,都应将其通知站点管理员。
kasperd 2015年

50

π是π的html代码。好像有人忘记正确地逃避事情。


8
700和金质徽章。真正令人不快的是,这个人可能比我更多地使用了
小狗

3
@DavidRicherby-代表被高估了,没有把食物放在桌子上。
dtech
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.