gpt4 book ai didi

cobol - COBOL 中的数据类型

转载 作者:行者123 更新时间:2023-12-04 23:41:56 29 4
gpt4 key购买 nike

我编写了以下程序,我很困惑为什么在编译程序时出现错误,说 A-COL(1,1) 不是数值,而显示 A-COL(1,1) 给我 1。

   IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DIFF PIC 9(3).
01 ARRAY.
05 A-ROW OCCURS 99 TIMES.
10 A-COL OCCURS 2 TIMES.
15 TABLE-CONTENT PIC 9(3).

PROCEDURE DIVISION.
MOVE 1 TO A-COL(1,1).
MOVE 2 TO A-COL(2,1).
DISPLAY A-COL(1,1).
COMPUTE DIFF = A-COL(1,1) - A-COL(2,1).
DISPLAY DIFF.
STOP RUN.

最佳答案

将 A-COL 定义更改为

"10 A-COL PIC 9(3) OCCURS 2 TIMES."

并删除 TABLE-CONTENT .

组变量被视为字母数字(X 类型),因此不能用于计算。

或者,您可以这样做 - 使用实际数字字段引用地址位置。
PROCEDURE DIVISION.
MOVE 1 TO TABLE-CONTENT(1,1).
MOVE 2 TO TABLE-CONTENT(2,1).
DISPLAY A-COL(1,1).
COMPUTE DIFF = TABLE-CONTENT(1,1) - TABLE-CONTENT(2,1).
DISPLAY DIFF.

你也可能想制作 DIFF签。

Additional Information


A-COL(1,1)显示“1”,因为它将数据存储为“1xx”,其中 x = 空格。那不是数值。当您在此处运行解决方案时,您会注意到显示行生成“001”。

关于cobol - COBOL 中的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34838416/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com