2012-06-29 18 views
9

Powiel możliwe:
Why doesn't a+++++b work in C?
3 Plus between two variables in cRóżnica między +++++ B i A ++ + ++ b

starałem szukając tego, ale nie można znaleźć żadnych wyniki.

Kod z c=a+++++b nie można skompilować (gcc), natomiast dla c=a++ + ++b kompiluje się pomyślnie. c=a+++ ++b również działa. c=a++ +++b kończy się niepowodzeniem.

Dlaczego w tym miejscu jest tak duża różnica? A może brakuje mi ważnej koncepcji C?

+8

nie bardzo wiem, dlaczego jest to otrzymywane w dół głosów, ponieważ id mówi, że jest to całkowicie poprawne i dobrze skonstruowane pytanie. Którego się boję, że nie znam odpowiedzi. –

+7

Chciałbym o tym wiedzieć ... dlaczego jest zamknięty? – nullpotent

+2

Jest zbyt wiele takich pytań już na SO. Wyszukaj je – RedX

Odpowiedz

5

Od ++ jest token, parser interpretuje a+++++b taki sam jak a ++ ++ + b, która nie jest taka sama jak a ++ + ++ b!

+0

OP powiedział, że 'a +++++ b' nie kompiluje się. –

+0

Zgadza się, tak, 'a ++ ++ + b' nie kompiluje się, natomiast' a ++ + ++ b' ma. Ponieważ 'a ++ ++ + b' nie ma prawidłowego znaczenia. Lub jak widzi to gcc, 'a ++' nie jest lwartością. –

+0

dokładny duplikat http://stackoverflow.com/questions/5341202/why-doesnt-ab-work-in-c/5677289#5677289 – RedX

Powiązane problemy