>>38
BASICだと代入も比較も=なんだけど代入は実はこれは
「LET A=1」のLETが省略されているもので、この場合=はステートメントの一部であって
式の一部ではないのです。英語的には「Aを1にする」って感じですね。
これだと「LET A=A+1」なら「AをA+1にする」だからなんとなく自然。
だけどタイプが面倒なのかメモリの問題もあったからなのか、
LEVEL1(2かな) BASICのころからLETを省略可能だった。

だからCだとif(p = fopen())みたいに代入式をifに書けるけど
BASICだと書けない。IF文中の=は比較だとみなされる。
あと「A=B=1」って書くと、左の=は代入文、右の=は判断式になるので
「Aは(Bが1と等しいか)」ということでAには真か偽(-1か0)が
入って、Bの値は変わらない。
この辺の仕様はVB6やVB.netでも一緒です。VB.netにLETというキーワード
自体はないですけど。

だからどうだというか、だからこそ紛らわしくてBASICの欠点なんですが
ただのトリビアみたいなものです。