K
KoYamaさん (8o4hkr6m)2024/5/7 03:27 (No.104639)削除0217.記法(ノーテーション)について(4)。
「記法」と言うよりは、「コンピュータ開発言語」の話題かも知れませんが、一般にコンパイラ言語と、インタープリタ型言語が、有ります。
で、前者は、コンパイルが済み、実行する段階で、その1ステートメントを、左から右に、上から下へ、順に実行します。後者は、1コマンド毎に、インタープリタによって、実行します。
それで、例えば、C言語で、「p」も「q」も「char* p;」などと、文字列を示す変数だとして、「if( p && !strcmp( p, q ) )」なるコードが有った場合、コンパイル時点では、エラー無く出来ますが、実行段階では、「p」が「NULL」だった場合、「strcmp( p, q )」部分を実行する以前に、このコードが返す値を、「NULL」つまり「否」と判定し、そこで、次のコードの判定に、進みます。
なので、「p」も「q」も「NULL」で無い事が解っている場合だけに限って、その保証の付かない「if( !strcmp( p, q ) )」なる記述が、可能です。