C言語を勉強しているのですが、if文の中で

if(式A||式B||式C||式D)

のように複数の式が論理演算子||で並んでいる時に、手持ちのコンパイラですと
実行時に、左側の式から順に(式A、式B、式C、式Dの順で)評価されていて、
かつ、途中の式が真の場合、残りの式は評価されていないみたいです。

※例えば式Aが真の場合、式B〜Dの中に含まれている関数は実行されない

これはC言語に共通する規則でしょうか?
それともコンパイラ固有の仕様ですか?