- ベストアンサー
COBOLについて
COBOL初心者なのですが。 COBOLで 01 A. 03 B PIC 9(02). 03 C PIC X(02). MOVE SPACE TO A. とした時、基本項目であるBには何が入っているのでしょうか? 数字項目にSPACEというのはありえないですよね。 どなたかわかる方、教えていただけませんか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
試してみるのが一番ですが 結果としてはAの集団項目は半角文字項目として 判断されるのでB、Cにスペースが入ります。 ただしBは数字項目なので単独でBの値使おうとすると 数字項目に文字が入っているというエラーがでて プログラムが異常終了すると思います。 一括で初期化したいのであれば INITIALIZE A とすればBにはゼロ、Cにはスペースが入りますよ。 いろいろ実験してみると覚えも早いと思います。 がんばってください。
その他の回答 (2)
- haruka1234567890
- ベストアンサー率18% (120/666)
実際に送ってみて、確認するだけだと思いますが。 そうすれば、#1さんの回答があっているか確かめられます。 初心者なら、質問せず自分でやらないと成長しませんよ。 がんばって!
お礼
た・・確かに実際にやってみるのが一番なのですが、 COBOLの実行環境がなかったものですから・・・。 今日インストールさせてもらったので、 早速確認してみます。 アドバイスありがとうございます。
- 530529
- ベストアンサー率16% (86/521)
01レベルは文字と考えられているので、合計4桁分のスペースが入っている。これから先は、コードや処理系での違いになると思いますが、スペースに相当するコードを数値としてみたときの値になっているのでは ? 例えば、16進での2020とかでしょうか ?
お礼
なるほど、スペースに相当するコードが入っているんですね。 まさかこんなに早く回答が返ってくるとは思ってませんでした。 ありがとうございました。
お礼
回答ありがとうございます。 異常終了してしまうんですね。 ちょっとどうしてもスペースを入れたかったんですよ。 一度英数字項目に変換してから使います。