2010-06-24 3 views
0

Как я могу решить или понять, осталось ли какое-либо выражение или выражение слева или справа налево ассоциативности?Об ассоциативности в 'C'

+4

Пожалуйста, не публикуйте все колпачки. У меня болят глаза – JaredPar

+3

@ JaredPar - исправлено магией interweb www.togglecase.com/convert_to_sentence_case.php – codingbadger

+0

@Barry, хорошая ссылка. Придется держать это вокруг. – JaredPar

ответ

3

=, + =, и т. Д., Операторы, имеющие в них «=», связаны друг с другом.

Все остальные связаны с левыми.

+0

Это, похоже, не согласуется. http://www.difranco.net/cop2220/op-prec.htm – GManNickG

+0

Возможно, мне что-то не хватает, но я не знаю, как в любом из унарных или тройных операторов ассоциативность имеет значение .... Ну, я принимаю ваше требование в любом случае, –

2

Адрес table of C++ operator precedence.

Приоритет и ассоциативность операторов одинаковы в C и C++ (по модулю операторов, которые не существуют в первом).

+0

Это C++, а не C. – GManNickG

+1

Не являются ли приоритеты и ассоциативность одинаковыми (по модулю операторами, которые не существуют в C)? – Cogwheel

+0

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence – Cogwheel

0

Прочитайте стандарты

Редакции: Я не норматив, сам, но я нашел this link должен быть основан на стандарте.

Кроме того, со ссылкой на Kernighan & Ритчи:

Арифметические операторы адъюнкт слева вправо.

Выражения, связанные & & или || оценивается слева направо, и оценка останавливается, как только истина или ложь результата известна. Большинство программ на C полагаются на эти объектов.

Операторы Ассоциативность

() [] ->. слева направо

! ~ ++ - + - * (тип) SizeOf справа налево

* /% слева направо

+ - слева направо

< < >> слева направо

< < =>> = слева направо

==! = слева направо

& слева направо

^слева направо

| Слева направо

& & слева направо

|| слева направо

?: Справа налево

= + = - = * =/=% = & =^= | = < < = >> = справа налево

, слева направо

Унарное & +, -, и * имеют более высокий приоритет, чем двоичные формы.

+3

Прочитайте их нам. – GManNickG

+0

@GMan, у меня нет стандартов, поэтому я добавил альтернативную информацию, которую я хотел, это может быть использование – pcent

Смежные вопросы