You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

COBOL中PERFORM...THRU...UNTIL语句初始条件为真时的执行疑问

COBOL PERFORM...UNTIL 语句执行行为解析

当UNTIL子句的条件初始为TRUE时,PARAGRAPHE-1至PARAGRAPHE-2之间的段落不会被执行。

COBOL中PERFORM ... UNTIL语句默认采用先判断后执行的逻辑(等同于显式写PERFORM ... UNTIL ... WITH TEST BEFORE):

  • 首先检查UNTIL后的终止条件是否成立
  • 若条件成立,直接跳过循环体,不执行指定段落
  • 若条件不成立,才执行PARAGRAPHE-1 THRU PARAGRAPHE-2的内容,执行完成后再次检查条件,直到条件成立才终止循环

对应你的代码示例:

SET NOK TO TRUE
PERFORM PARAGRAPHE-1 THRU PARAGRAPHE-2 UNTIL NOK

NOK被预先设置为TRUE,进入PERFORM时第一时间检查条件,发现已经满足终止要求,因此不会执行PARAGRAPHE-1到PARAGRAPHE-2的任何段落。

如果需要确保循环体至少执行一次,可以使用PERFORM ... UNTIL ... WITH TEST AFTER,这种写法会先执行循环体,再检查终止条件。

内容的提问来源于stack exchange,提问作者Ahmed SEDDIK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:48:11