Jaka jest kolejność oceny instrukcji w nawiasach if, jeśli (…)? [duplikować

To pytanie ma już odpowiedź tutaj:

Czy operatorzy logiczni zwarci są zobowiązani? A kolejność oceny? 7 odpowiedzi Obawy dotyczące bezpieczeństwa związane z oceną zwarcia [duplikat] 4 odpowiedzi

Mam wskaźnik char zainicjowany na NULL na początku programu, w dalszej części programu char * jest używany w wywołaniu funkcji, gdzie może zostać wskazany ciąg znaków char i może wskazywać na znak null, i to może pozostać nietknięty. Tak więc poniższe stwierdzenie jest poprawne, powinno być tak, jeśli wyrażenia są oceniane od lewej do prawej. Jeśli nie wtedystrlen (charpointer) jest niezdefiniowanym zachowaniem, jeślicharpointer == NULL

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

Więc czy są one oceniane od lewej do prawej? Czy to właściwy sposób na sprawdzenie w ten sposób?

questionAnswers(5)

yourAnswerToTheQuestion