gpt4 book ai didi

cobol - 函数 ord 有时有效但有时无效

转载 作者:行者123 更新时间:2023-12-04 12:17:10 25 4
gpt4 key购买 nike

我正在尝试编程某种 Caesar Cipher在科博尔。但不知何故,我收到以下编译错误:

Numeric function "INTEGER FUNCTION ORD" was not allowed in this context.



这个错误在这里被触发(两行)
 000048                  MOVE FUNCTION ORD("A") TO a
000049 display function ord("A")

但不是在这里
 000054                MOVE FUNCTION CHAR(FUNCTION MOD(
000055 FUNCTION ORD(outstring (i:1))
000056 - a + offset, 26) + a)
000057 TO outstring (i:1)
ioutstring的位置我们在看。 a"a" 的值或 "A"需要确保我们停留在 26 个字母中,定义为
 000018            03 a    pic S9(3).

区别在哪里?为什么第二个有效而第一个无效?

最佳答案

第二个例子有效,第一个无效,因为你可以将数字表达式作为函数参数,但不能将数字表达式作为 MOVE 的主题。陈述。在您的情况下,您的编译器( IBM? )将数字内部函数调用视为数字表达式。所以你需要更换MOVECOMPUTE并更改 DISPLAY 中的函数调用至 a .

000048                  COMPUTE a = FUNCTION ORD("A")
000049 DISPLAY a

关于cobol - 函数 ord 有时有效但有时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44382375/

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