【发布时间】:2013-04-17 19:19:35
【问题描述】:
identification division.
program-id. quick.
environment division.
data division.
working-storage section.
01 temp-val1 pic 9 value 1.
01 temp-val2 pic 9 value 2.
procedure division.
mainline.
perform encrypt.
stop run.
encrypt.
if (temp-val1 = 1)
display "1"
display "2".
end_if.
if (temp-val2 = 2)
display "2"
display "1".
end_if.
display "outside the ifs".
程序的输出很简单:
1
2
但我希望:
1
2
2
1
在ifs之外
我做错了什么?我是否误解了第一个 if 中语句的句子结构或句号的位置?
【问题讨论】:
-
您正在混淆 COBOL 编码样式。这会导致意外的控制权转移。查看COBOL Transfer of Control。也就是说,我希望编译器会在您的
end-if.上引发错误或至少发出警告 -
好的,一旦卢克发现问题,就不是编译器错误。适合我查看更好的示例,而不是问题中的代码:-)
-
@NealB 感谢您的链接,它很有帮助。
标签: if-statement cobol sentence gnucobol