Trình biên dịch hiển thị ký hiệu 'pi' bị lỗi


103

Tôi đang kiểm tra một số mã trên Coliru và tôi nhận được một kết quả lạ. Tôi đã đi xuống mã và có thể tái tạo nó bằng đoạn mã đơn giản này :

int main()
{
    π
}

Đầu ra trên g ++:

đầu ra trên g ++

kêu vang:

đầu ra trên tiếng kêu

Ví dụ: chỉ sử dụng pi(không có địa chỉ-của) cho thấy kết quả mong đợi:

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

Tôi đã cố gắng tái tạo điều này trên máy của mình, sử dụng g ++ 4.9.2 và trên các trang web khác nhưng không thể.

Đây có phải là một số lỗi trên trang web này, một số cấu hình của các trình biên dịch này?

Và tại sao chỉ sử dụng toán tử address-of ( &) lại hiển thị biểu tượng này?


23
Điều gì xảy ra nếu bạn đưa vào &tm;? Bạn có thấy ™ hiển thị không? Nếu vậy đầu ra của bạn đang được hiểu là HTML.
tadman

13
@tadman Theo trang web này ™ không có mã "tên" HTML, chỉ là mã số HTML: & # 8482; Điều này cho kết quả mong đợi .
simon

53
ahaha điều này thật vui nhộn
Cuộc đua ánh sáng trong quỹ đạo.

4
@ Random832: Đó là những gì tôi nhận được để duyệt DOM thay vì xem nguồn. (╯°□°)╯︵ ┻━┻
Các cuộc đua ánh sáng trong quỹ đạo vào

3
Đối với hồ sơ, một số người đã bình luận ở đây biết người bảo trì Coliru. Bây giờ anh ấy đã nhận thức được vấn đề. Cảm ơn bạn đã nuôi dưỡng nó.
Các cuộc đua ánh sáng trong quỹ đạo vào

Câu trả lời:


114

Đó là một lỗi trên trang web, vì đầu ra của trình biên dịch không được thoát đúng cách. Trình biên dịch sẽ xuất ra π, nhưng đó là HTML hợp lệ, tạo ra ký hiệu pi mà bạn thấy.


chúng ta có thể nhận một bản demo trực tiếp trên một nơi nào đó như coliru để hiển thị điều này không? : P
thecoshman

9
Và việc thoát thường xuyên bị lãng quên hóa ra lại là một vấn đề an ninh. Vì vậy, bất cứ khi nào người ta bắt gặp nó, hãy thông báo cho quản trị viên trang web về nó.
kasperd

50

πlà mã html cho π. Có vẻ như ai đó đã quên thoát khỏi mọi thứ đúng cách.


8
700 và một huy hiệu vàng. Điều thực sự khó chịu là anh chàng này có thể sử dụng mà rất nhiều hơn tôi,
Puppy

3
@DavidRicherby - đại diện được đánh giá quá cao và không đặt thức ăn lên bàn.
dtech
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.