• ベストアンサー

COBOLについて

COBOL初心者なのですが。 COBOLで 01 A.   03 B PIC 9(02).   03 C PIC X(02). MOVE  SPACE  TO  A. とした時、基本項目であるBには何が入っているのでしょうか? 数字項目にSPACEというのはありえないですよね。 どなたかわかる方、教えていただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wandayu
  • ベストアンサー率24% (24/99)
回答No.3

試してみるのが一番ですが 結果としてはAの集団項目は半角文字項目として 判断されるのでB、Cにスペースが入ります。 ただしBは数字項目なので単独でBの値使おうとすると 数字項目に文字が入っているというエラーがでて プログラムが異常終了すると思います。 一括で初期化したいのであれば INITIALIZE A  とすればBにはゼロ、Cにはスペースが入りますよ。 いろいろ実験してみると覚えも早いと思います。 がんばってください。

suzuno
質問者

お礼

回答ありがとうございます。 異常終了してしまうんですね。 ちょっとどうしてもスペースを入れたかったんですよ。 一度英数字項目に変換してから使います。

その他の回答 (2)

回答No.2

実際に送ってみて、確認するだけだと思いますが。 そうすれば、#1さんの回答があっているか確かめられます。 初心者なら、質問せず自分でやらないと成長しませんよ。 がんばって!

suzuno
質問者

お礼

た・・確かに実際にやってみるのが一番なのですが、 COBOLの実行環境がなかったものですから・・・。 今日インストールさせてもらったので、 早速確認してみます。 アドバイスありがとうございます。

  • 530529
  • ベストアンサー率16% (86/521)
回答No.1

01レベルは文字と考えられているので、合計4桁分のスペースが入っている。これから先は、コードや処理系での違いになると思いますが、スペースに相当するコードを数値としてみたときの値になっているのでは ? 例えば、16進での2020とかでしょうか ?

suzuno
質問者

お礼

なるほど、スペースに相当するコードが入っているんですね。 まさかこんなに早く回答が返ってくるとは思ってませんでした。 ありがとうございました。