「コンパイラ・スクリプトエンジン」相談室4at TECH「コンパイラ・スクリプトエンジン」相談室4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト950:デフォルトの名無しさん 05/01/19 00:23:36 >>948 数学の式の"="は非常に使い方が曖昧で、"="は最低でも3通りの使い方が なされている。 1. 定義式 y := x^2 「yをx^2と定義する」 2. 恒等式 y == x^2 「yはx^2と常に等しい」 3. 代入式 y = x^2 「yにx^2を代入する」 これらが区別できているかい? 951:デフォルトの名無しさん 05/01/19 01:07:10 >>948 >式と言われると、y=ax^2+bx+c のような(数学)式を連想してしまいます。 >左辺&右辺にはそれぞれ値があるのですが、式自体には値は無いですよね… 値の有無は式に属するか文に属するかによる。 例えばVBの代入は文に属する。 a := b := cとは書けない。 でも右辺には式が置ける。 a := b + 1など。 しかし、C言語では代入は演算子として定義されており、 演算子は式に属する。 C言語の式a = b = cはa = (b = c)と解釈され、b = cが先に評価される。 この評価の順番を結合規則と呼び、C言語の式には かならず結合規則が存在し、代入式は右結合と規定されている。 同じ演算子同士は結合規則によって順番が決まり、 違う演算子同士ならば優先順位によって決まる。 a = b = cの場合、式の値はcの中身になる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch