【问题标题】:COBOL function output as stringCOBOL 函数输出为字符串
【发布时间】:2021-09-27 08:21:32
【问题描述】:
123456*
       IDENTIFICATION DIVISION.
       PROGRAM-ID. "EVEN-OR-ODD".
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 Num-1    PIC 9(02).
       02 Answer   PIC XXXX.
       PROCEDURE DIVISION.
           GOBACK.
       EVEN-OR-ODD.
          IF FUNCTION REM(NUM-1, 2) = 0
              COMPUTE ANSWER =  "Even"
          ELSE
              COMPUTE ANSWER = "Odd"
          END-IF
       END PROGRAM EVEN-OR-ODD.

它是一个简单的偶奇函数。它应该检查数字是否为偶数返回“偶数”,否则返回“奇数” 有人能解释一下怎么回事吗?

【问题讨论】:

    标签: cobol


    【解决方案1】:

    COBOL 编译器会告诉你很多事情......

    • GOBACK 作为第一条语句,所以其余的不会被执行
    • 程序错过了最后一个周期和一个必要的/合理的(取决于编译器)语句来结束程序(END PROGRAM 仅在编译阶段解析) - 您可能希望将您的 GOBACK. 移动到结束
    • COMPUTE 没有设置任何字母数字,你可能想要MOVE
    • 没有办法知道程序会做什么,所以可能需要DISPLAY 而不是MOVE
    • NUM-1 从未设置,也没有初始 VALUE - 所以理论上它甚至可以异常终止

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 2021-01-11
    • 2019-12-04
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    相关资源
    最近更新 更多