我正在尝试在 Cobol 中使用嵌套的 if 语句。据我所知,我正在遵循样式指南,但不断收到错误消息:
file_name.cob:64:错误:语法错误,意外 ELSE <- 这是第二个 ELSE 语句
该代码的目的是用作凯撒密码,但似乎只有嵌套的 if 语句会产生错误。我尝试将嵌套语句放在初始 IF 语句的 ELSE 子句之后,但这也没有成功。
编辑:我正在使用 open-cobol,并使用“-free”选项进行编译
IF CharCount < 26
ADD firstnum, CharCount GIVING stringShift.
DISPLAY stringShift.
IF FUNCTION MOD(stringShift, 26) IS NOT ZERO
MOVE FUNCTION MOD(stringShift, 26) to stringShift
DISPLAY stringShift
MOVE abc(stringShift:stringShift) TO newChar
DISPLAY newChar
STRING newString DELIMITED BY "", newChar DELIMITED BY SIZE INTO newString
DISPLAY newString
ELSE
STRING newString DELIMITED BY "", searchChar DELIMITED BY SIZE INTO newString
DISPLAY newString
END-IF
ELSE
STRING newString DELIMITED BY "", searchChar DELIMITED BY SIZE INTO newString
DISPLAY newString
END-IF.
谢谢!