文字列の代入はその文字列が入っている場所が代入されている気がします。 (ポインタ渡し?参照渡し?) A$="A"はメモリ上の"A"の文字列の先頭位置がA$に代入され、 B$=A$はA$に代入されている"A"の先頭位置が代入される事に。 この時点でA$、B$共に同じメモリ上の"A"の先頭位置が代入されているのでどちらから見ても同じ"A"が参照される事に。 最初の例ではA$="B"としてA$側をメモリ上の"B"の位置に変えているので 「B/A」となります。 次の例ではA$[0]="B"としていてA$に代入されているメモリ上の"A"の0番目(最初の位置)のAの文字をBに書き換えています。 A$もB$も代入されているメモリの位置は変えていないので両方から"B"が見えることになり結果は「B/B」となります。 また同様の理由から2つ目の例はA$[0]="B"でなく、B$[0]としても同じ結果に。