Go to the first, previous, next, last section, table of contents.


if

if 文には

if ( 式 )             if ( 式 )
    文       及び         文
else
    文

の 2 種類がある. これらの動作は明らかであるが, 文の位置に if 文 が来た場合に注意を要する. 次の例を考えてみよう.

if ( 式 )
    if ( 式 ) 文
else
    文

この場合, 字下げからは, else 以下は, 最初の if に対応する ように見えるが, パーザは, 自動的に 2 番目の if に対応すると判断する. すなわち, 2 種類の if 文を許したために, 文法に曖昧性が現れ, それを 解消するために, else 以下は, 最も近い if に対応すると いう規則が適用されるのである. 従って, この例は,

if ( 式 ) {
    if ( 式 ) 文 else 文
}

という意味となる. 字下げに対応させるためには,

if ( 式 ) {
    if ( 式 ) 文
} else
    文

としなければならない.


Go to the first, previous, next, last section, table of contents.