Wie ist die Reihenfolge der Auswertung von Anweisungen in einer if-Klammer, wenn (…)? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Ist das Kurzschließen von logischen Operatoren vorgeschrieben? Und Auswertungsreihenfolge? 7 answersSicherheitsbedenken bezüglich Kurzschlussbewertung [duplizieren] 4 Antworten

Ich habe einen char-Zeiger, der zu Beginn des Programms auf NULL initialisiert wird. Außerdem wird im Programm das char * in einem Funktionsaufruf verwendet, bei dem es auf eine Zeichenfolge von char s und möglicherweise auf null char und darauf gezeigt wird könnte unberührt bleiben. Ist also die folgende Aussage richtig, sollte es sein, wenn die Ausdrücke von links nach rechts ausgewertet werden. Wenn nicht, dannstrlen (charpointer) ist undefiniertes Verhalten, wenncharpointer == NULL

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

So, werden sie von links nach rechts ausgewertet? Ist dies der richtige Weg, um dies zu überprüfen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage