Qual é a ordem de avaliação das declarações em um parêntese se (...)? [duplicado

Esta pergunta já tem uma resposta aqui:

Os operadores lógicos em curto-circuito são obrigatórios? E ordem de avaliação? respostas Preocupações de segurança sobre avaliação de curto-circuito [duplicado] 4 respostas

Eu tenho um ponteiro char inicializado para NULL no início do programa, ainda mais no programa o char * é usado em uma chamada de função em que pode ser apontado para uma sequência de caracteres e pode apontar para caractere nulo. pode permanecer intocado. Portanto, a declaração a seguir está correta, deve ser se as expressões forem avaliadas da esquerda para a direita. Se não entãostrlen (charpointer) é um comportamento indefinido, secharpointer == NULL

if (  charpointer == NULL || strlen ( charpointer ) == 0  )

Então, eles são avaliados da esquerda para a direita? Essa é a maneira correta de verificar assim?

questionAnswers(5)

yourAnswerToTheQuestion