SmileBASIC 3.0~ の文字列変数のコピー
A2$=A1$
が浅いコピー(参照のコピー)だということが問題の根にあると思います。普通 BASIC の文字列変数のコピーは常に深いコピー(中身のコピー)なので、こういうことは発生しません。
逃げ道としては、文字列変数を直接代入しないで
A2$=A1$+""
のように空文字列を連結してから代入すれば、INC A2$,"#" としても A1$ が変更されなくなります。
※3.0.2まで INC/DEC の先頭引数が2回評価されていた※のですが、3.1.0では1回になったようです。この変更(修正?)の影響を受けたのかもしれません。
※ 例えば INC A$[FUNC()],"#" と書くと FUNC() が2回呼ばれていた
0そうだね プレイ済み