Pontos de seqüência c
Entre consecutivas "pontos de seqüência" valor de um objeto pode ser modificado somente uma vez por uma expressão.A linguagem c define os pontos de seqüência a seguir:
Operando de lógica de esquerda- E operador (& &).O operando esquerdo de lógica- E o operador é avaliado completamente e todos os efeitos lado concluída antes de continuar.Se o operando esquerdo for avaliada como false (0), o outro operando não será avaliado.
Deixado operando do operador lógico OR (||).O operando esquerdo do operador lógico OR é avaliado completamente e todos os efeitos lado concluída antes de continuar.Se o operando esquerdo for avaliada como true (diferente de zero), o outro operando não será avaliado.
Operando esquerdo do operador de vírgula.O operando esquerdo do operador vírgula completamente é avaliado e todos os efeitos lado concluída antes de continuar.Ambos os operandos do operador vírgula são sempre avaliados.Observe que o operador de vírgula em uma chamada de função não garante uma ordem de avaliação.
Operador de chamada de função.Todos os argumentos para uma função são avaliados e todos os efeitos lado concluir antes de entrada para a função.Nenhuma ordem de avaliação entre os argumentos é especificado.
O primeiro operando do operador condicional.O primeiro operando do operador condicional completamente é avaliado e todos os efeitos lado concluída antes de continuar.
O final de uma expressão de inicialização completo (ou seja, uma expressão que não faz parte de outra expressão, como no final de uma inicialização em uma instrução de declaração).
A expressão em uma instrução de expressão.Instruções de expressão consistem em uma expressão opcional, seguida por um ponto e vírgula (;).A expressão é avaliada com seus efeitos colaterais e não há um ponto de seqüência seguindo essa avaliação.
A expressão de controle em uma seleção (Se ou switch) instrução.A expressão é avaliada completamente e todos os efeitos lado concluir antes do código de acordo com a seleção é executado.
A expressão de controle de um while ou instrução.A expressão é avaliada completamente e todos os efeitos lado concluir antes de todas as instruções na próxima iteração da while ou loop são executados.
Cada uma das três expressões de um para instrução.As expressões são avaliadas completamente e todos os efeitos lado concluir antes de todas as instruções na próxima iteração da para loop são executados.
A expressão em um return instrução.A expressão é avaliada completamente e todos os efeitos lado concluído antes que o controle retorna para a função de chamada.