0

私はレガシー コードを扱っていて、GW Basic のチュートリアルとハンドブックを数日間調べた後、説明できなかったことに遭遇しました。変数 (P9%) が 530 行目の比較で使用されています (IF P9 % <> 0) コードが 860 行でその定義に到達する前。これは複雑なコードではなく、合計で 1200 行しかないため、goto や gosub など、860 に到達するものを見逃していないと確信しています。この比較よりも前。

これが実行中のプログラムにどのような影響を与えているのか、私は興味があります。私の経験のほとんどは、この種のものはコンパイルされない c++ であり、割り当てられていない変数には、適合するものが含まれる可能性がありますが、Basic で変数に与えられるデフォルトの割り当ての種類がわかりません。

4

1 に答える 1

0

gwbasic で多くのことを書いてから何年も経ちました!

私の記憶が正しければ、その場合、変数にはゼロ値が割り当てられます。Gwbasic (および Qbasic だと思います) は、最初に参照されたときにすべての変数にデフォルト値を割り当てます。これは通常、ゼロまたは文字列変数の空の文字列です。

興味深いことに、DIM ステートメントを使用して配列を作成すると、配列内のすべての項目もこの方法で初期化されます。

このメカニズムを使用しても、何が起こっているのかを明確にするために、通常は変数を初期化する方が適切です。

gwbasic を書いていた時代の多くのプログラマーは、プログラム命令が使用するメモリの量を最小限に抑えるためにできる限り多くのことを省略し、他のものにより多くのメモリを確保しました。そのため、初期化されていない可能性があります。

于 2013-07-11T05:43:01.757 に答える