cobol高手请进。问一个EVALUATE句型的问题
先说明一下,我使用大型机的编辑环境。(不知道跟用UNIX有没有区别。)举个2个例子:例1.EVALUATEAWHEN"1"MOVE"9"TOBWHEN"2"MOVE"8"...
先说明一下,我使用大型机的编辑环境。(不知道跟用UNIX有没有区别。)
举个2个例子:
例1.
EVALUATE A
WHEN "1"
MOVE "9" TO B
WHEN "2"
MOVE "8" TO B
WHEN OTHER
CONTINUE
END-EVALUATE.
例2.
EVALUATE A
WHEN "1"
MOVE "9" TO B
WHEN "2"
MOVE "8" TO B
WHEN OTHER
MOVE "3" TO B
END-EVALUATE.
假设A的值是1,目前我的执行结果是:
在例1中,B=9,并且语句执行了CONTINUE语句,然后跳出了EVALUATE句。
在例2中,B=9,并且直接跳出了EVALUATE句。
我认为在例子1中不应该执行WHEN OTHER 中的CONTINUE句。但是事实是确实执行了。
请大虾给解释一下为什么? 展开
举个2个例子:
例1.
EVALUATE A
WHEN "1"
MOVE "9" TO B
WHEN "2"
MOVE "8" TO B
WHEN OTHER
CONTINUE
END-EVALUATE.
例2.
EVALUATE A
WHEN "1"
MOVE "9" TO B
WHEN "2"
MOVE "8" TO B
WHEN OTHER
MOVE "3" TO B
END-EVALUATE.
假设A的值是1,目前我的执行结果是:
在例1中,B=9,并且语句执行了CONTINUE语句,然后跳出了EVALUATE句。
在例2中,B=9,并且直接跳出了EVALUATE句。
我认为在例子1中不应该执行WHEN OTHER 中的CONTINUE句。但是事实是确实执行了。
请大虾给解释一下为什么? 展开
展开全部
列1:单纯从描述看,a=1,b=9直接跳出evaluate,不会走continue.
如果又走b=9的分支又走continue分支,说明前面有循环,这个判断执行了两次。
如果又走b=9的分支又走continue分支,说明前面有循环,这个判断执行了两次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例子1中语法正确,有才continue 循环
例子2种就是一个单一语句,仅输入1次
罗瑶光回答
例子2种就是一个单一语句,仅输入1次
罗瑶光回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询