2012-06-29 44 views
9

thể trùng lặp:
Why doesn't a+++++b work in C?
3 Plus between two variables in cSự khác nhau giữa một +++++ b và a ++ + ++ b

tôi đã cố gắng tìm kiếm này, nhưng không thể tìm thấy bất kỳ các kết quả.

Mã với c=a+++++b không thể biên dịch (gcc) trong khi đối với c=a++ + ++b, nó biên dịch thành công. c=a+++ ++b cũng hoạt động. c=a++ +++b không thành công.

Tại sao khoảng trắng tạo nên sự khác biệt ở đây? Hoặc tôi thiếu một khái niệm quan trọng của C?

+8

không thực sự chắc chắn lý do tại sao điều này nhận được phiếu bầu vì id cho biết câu hỏi có cấu trúc hoàn toàn hợp lệ và được cấu trúc tốt. Tôi sợ rằng tôi không biết câu trả lời. –

+7

Tôi muốn biết về điều này ... tại sao nó đóng cửa? – nullpotent

+2

Có quá nhiều câu hỏi như thế này đã có trên SO. Tìm kiếm chúng – RedX

Trả lời

5

++ là mã thông báo, trình phân tích cú pháp diễn giải a+++++b giống như a ++ ++ + b, không giống như a ++ + ++ b!

+0

OP nói 'a +++++ b' không biên dịch được. –

+0

Đúng vậy, vâng, 'a ++ ++ + b' không biên dịch, trong khi' a ++ + ++ b' thì không. Bởi vì 'a ++ ++ + b' không có ý nghĩa hợp lệ. Hoặc như gcc thấy nó, 'a ++' không phải là một giá trị. –

+0

chính xác sao chép http://stackoverflow.com/questions/5341202/why-doesnt-ab-work-in-c/5677289#5677289 – RedX

Các vấn đề liên quan