Projeto de Algoritmos

Precedência entre operadores em C

Na tabela abaixo, os operadores estão em ordem decrescente de precedência: primeiro os mais "urgentes", depois os outros. Na coluna direta está a regra de associação para os operadores da linha.

 

  ()  []  ->  . esquerda-para-direita
operadores unários -  ++  --  !  &  *  ~  ( type )  sizeof direita-para-esquerda
  *  /  % esquerda-para-direita
  +  - esquerda-para-direita
  <<  >> esquerda-para-direita
  <  <=  >=  > esquerda-para-direita
  ==  != esquerda-para-direita
  & esquerda-para-direita
  ^ esquerda-para-direita
  | esquerda-para-direita
  && esquerda-para-direita
  || esquerda-para-direita
  ? : direita-para-esquerda
  op= direita-para-esquerda
  , esquerda-para-direita

Exemplos:

expressão interpretação
&x[i] &(x[i])
*p.dia *(p.dia)
a[i].b[j] ((a[i]).b)[j]
&h->left->right &((h->left)->right)
*x++ *(x++)

 

 


URL of this site: www.ime.usp.br/~pf/algoritmos/
Last modified: Mon Jul 31 09:42:03 BRT 2006
Paulo Feofiloff
IME-USP