10 A=2480 20 PRINT ”A=”;A 30 INPUT ”A=”;A 40 GOTO 20実行すると、数値型変数Aの値を出力し、その後新たにAを(キーボードから)入力するということを繰り返します(MSX BASICの場合、CTRLキーとSTOPキーを同時に押すと終了します)。
まずプログラムを実行させ、INPUT命令(30行)により「A=?」と聞かれたら、0以外の適当な「数字」を入力してみましょう。 すると当然、変数Aにはその数字が入りますね。 モニタにも入力した数字が出てくるはずです。
今度は、「A=?」と聞かれたら、何も入力せず(スペースは可)、RETURNキーのみを押してみましょう。
すると、MSX BASICなら変数Aは0とはならず、以前の値がそのまま残ってしまいます。
プログラムを実行して最初の入力要求でRETURNキーのみを押すと、モニタには「A=2480」と出力されるはずです。
このような場合、ビーバーが知っている他のBASICでは、変数Aには0が入ったと思います。
なお、サンプルのように、数値型変数入力要求時に文字を入れようとすると、「?Redo from start」と出力されて再び数値の入力を要求してきますが、この後先と同じように、何も入力せずRETURNキーのみを押すと、MSX BASICでも変数Aは0となります。
文字型変数への入力についても同様です。 次のサンプルプログラムをMSX BASICで実行し、INPUT 命令(30行)により「S$=?」と聞かれたときに、何も入力せず(スペースは可)RETURNキーのみを押すと、S$はヌル文字(””)とはならずに、以前の文字列が残ります。 プログラムを実行して最初の入力要求でRETURNキーのみを押した場合、モニタには「S$=BEAVER」と出力されるはずです。 これもビーバーが知っている他のBASICでは、S$はヌル文字になったと思います。
10 S$=”BEAVER” 20 PRINT S$ 30 INPUT ”S$=”;S$ 40 GOTO 20