プロが教える店舗&オフィスのセキュリティ対策術

DCL A(3) CHAR(2) INIT((3)'AB')
で宣言すると、
A(1)='AB'
A(2)='AB'
A(3)='AB'
になるでしょうか?
それとも、
A(1)='AB'だけになるでしょうか?

A 回答 (4件)

A(1)='AB' ;


と同じです。
掲題のステートメントにおける動作原理は
 (1)要素1にのみABが3回連続で割り付けられた後
 (2)以降はブランクパディング
されることとなります。
そして要素2、3に対しては何も行われません。
(結果としてA(1)にのみ'AB'が割り付けられることになります)

各要素に'AB'を割り付ける為には、
【1】DCL A(3) CHAR(2) INIT((1)(3)'AB') ;
【2】DCL A(3) CHAR(2) INIT((3)('AB')) ;
【3】DCL A(3) CHAR(2) ;
   A='AB' ;
等の方法が考えられるかと思われます。

相違してましたらご指摘下さい。
    • good
    • 0

PL/1ですね。


A(1)='AB'
A(2)='AB'
A(3)='AB'
のはずです。でも、どのメーカーのどのバージョンかもわからないので
DCL A(3) CHAR(2) INIT('AB','AB','AB');
にした方がよいのでは。
※良回答下さい
    • good
    • 0

前回の質問を見ると、文字コードはEBCDICまたはEBCDIKを使っているのですよね?


そういった環境で使っているなら、メーカー側のマニュアルを見れると思うのですが?なぜ、マニュアルで調べないのでしょうか?

分からないことがあると、自分で調べず、毎回、
「アドバイスできる人がいるかどうか分からない。
仮にいても、いつアドバイスをもらえるか分からない。
また、そのアドバイスが適切なものかも分からない」
といった状況では、仕事(?)にならないのでは?
自分でマニュアル等で調べ、試行錯誤するほうが、より効率的だと思います。

また、ここのようなサイトで質問する場合は、OSメーカー名、OS名、PL/Iのコンパイラ名など必ず書いてください。
    • good
    • 0

実際に動かしてみないのですか?


PL/Iを趣味でやっているのではないのですよね?
(こんな旧式の言語使うというのは、過去の遺産とかですよね)
10聞くより、1実行したほうが早いかと・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!