��
|
���例如,用
����if ( char >= '0' && char <= '9'
) …
�来代替
����if ( char >= '0' )
������if ( char <= '9' ) …
|
��在早期使用ALGOL语言时就发现这种结构容易使读者产生误解。例如,写出了这样的BASIC语句:
|
����if ( char >= 'a' )
������if ( char <= 'z' )
��������printf ("This is a letter。");
������else
��������printf ("This is not a letter。");
|
��这里的else到底是否定的哪一个if?
语言处理程序约定,是否定离它最近的那个未带else的if,但是不同的读者可能会产生不同的理解,出现了二义性问题。
�� |