免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 14199 | 回复: 8
打印 上一主题 下一主题

当程序goto到return后面之后…… [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-23 16:31 |只看该作者 |倒序浏览
本帖最后由 爱笑的猫猫 于 2011-09-23 16:33 编辑

今天写了个rpg程序,在return后边写了几条语句,使用goto跳转到return语句之后的语句,发现程序在执行完return后面的语句后又跳到了程序的开头!
   然后就又写了个简单的程序测试:

  1. c     'aaaaa'       dsply     aaa         
  2. c                   exsr      bbb         
  3. c                   goto      ccc         
  4. c                   eval      *inlr = *on
  5. c                   return               
  6.                                           
  7. c     ccc           tag                  
  8. c     'ccccc'       dsply                 
  9. c     'ddddd'       dsply                 
  10.                                           
  11. c     eee           begsr                 
  12. c     'eeeee'       dsply                 
  13. c                   endsr                 
  14. c     bbb           begsr                 
  15. c     'bbbbb'       dsply                 
  16. c                   endsr                 
复制代码
这个程序是个死循环,当程序执行到dsply语句的时候遇到begsr跳回到程序开头。
执行结果:
DSPLY  aaaaa
DSPLY  bbbbb
DSPLY  ccccc
DSPLY  ddddd
DSPLY  aaaaa
DSPLY  bbbbb
DSPLY  ccccc
DSPLY  ddddd
DSPLY  aaaaa
DSPLY  bbbbb
……
这是IBM故意设定的么?

论坛徽章:
0
2 [报告]
发表于 2011-09-23 16:48 |只看该作者
最后一条语句不是return的话,就再从第一条语句开始执行。

你的例子完美的证明了这一点

论坛徽章:
0
3 [报告]
发表于 2011-09-23 17:52 |只看该作者
在RPGG还没用过GOTO

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
4 [报告]
发表于 2011-09-24 11:26 |只看该作者
你是像说为什么已经 SETON *LR   RETURN了之后还在执行么?
按理是应该结束程序的意思么?

论坛徽章:
0
5 [报告]
发表于 2011-09-24 14:17 |只看该作者
回复 4# junlee1986


    NO。他这个例子没有执行seton *inlr  和return ,跳过去了。
所以程序不会结束。而是又从头开始执行

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
6 [报告]
发表于 2011-09-25 10:16 |只看该作者
回复  junlee1986


    NO。他这个例子没有执行seton *inlr  和return ,跳过去了。
所以程序不会结束 ...
niuhua77 发表于 2011-09-24 14:17



    没有执行那个,当然一直执行了,那是400的程序周期。

论坛徽章:
0
7 [报告]
发表于 2011-09-26 11:19 |只看该作者
你dubeg一下你的程序不就知道了嘛

论坛徽章:
0
8 [报告]
发表于 2017-09-20 13:17 |只看该作者
回首过往,mark

IMG_3776.JPG (83.65 KB, 下载次数: 0)

IMG_3776.JPG

论坛徽章:
5
2015亚冠之阿尔艾因
日期:2015-08-10 02:23:34操作系统版块每日发帖之星
日期:2015-08-13 06:20:002015七夕节徽章
日期:2015-08-21 11:06:1715-16赛季CBA联赛之山西
日期:2016-04-13 02:36:59操作系统版块每日发帖之星
日期:2016-04-14 06:20:00
9 [报告]
发表于 2017-09-20 16:54 来自手机 |只看该作者
爱笑的猫猫 发表于 2017-09-20 13:17
回首过往,mark

哈哈,已成大神?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP