cobol的PERFORM UNTIL.....循环里,怎样跳出本次循环呢?相当于c里的continue的作用.

2024-12-16 20:25:22
推荐回答(5个)
回答1:

1. PERFORM VARYING A FROM 1 BY -1 UNTIL A>100 , 会死循环;
2. IF 100(A)=ZERO , 应该是你写错或看错了吧, 这里的"100" 换成个数组变量就可以了, 就像 WA-NAME(A), 但是得当心数组溢出;
3. 07 ABCDESFG OCCURS 8, 就像定义了一张表---"ABCDESFG", 一般都这么用,

01 WA-TABLE.
05 WA-STUDENT-TABLE OCCURS 100.
10 WA-NO PIC X(10).
10 WA-NAME PIC X(20).
10 WA-ADDRESS PIC X(30).
这样就定义了一张可容100条记录的学生表了,每条记录都有3个字段.

回答2:

一般都是GO TO ..._EXIT,跳到这一节的末尾,cobol实际上无法模块化,是不能胡乱GO TO 没错,但必须有一定量的GO TO ,不然程序更没法读了。以我个人的一点点经验,在这一节中,跳到本节末尾的GO TO,可以放心大胆的用。相当于java,c 等等语言的continue。

回答3:

据我所知还没有
还有你的题目描述不大清楚
是PERFOMR A UNTIL condition
形式
还是
PERFORM UNTIL condition
steatment
END-PERFORM
形式
如果是前一种好像没有用到GO TO 的需要吧
后一种有可能
能不能把问题描述具体点,我也学习下,谢谢

确认了下,问了下从事开发很久的人,确实没有这个语句

回答4:

PERFROM VARYING IDX FROM 1 BY 1 UNTIL IDX > 5
或者
PERFORM UNTIL A-FLG = 'Y'
满足某条件时设置MOVE 'Y' TO A-FLG
END-PERFORM

回答5:

用go to
跟别的程序不同,cobol编程经常用goto