zoukankan      html  css  js  c++  java
  • 传递参数的方式

    DATA: I_NUM1 TYPE VALUE 10,
          I_NUM2 TYPE VALUE 20,
          I_NUM3 TYPE I.

    WRITE'I_NUM1=',I_NUM1,
           'I_NUM2=',I_NUM2,
           'I_NUM3=',I_NUM3.
    SKIP.
    PERFORM CALCULATOR USING I_NUM1 I_NUM2 CHANGING I_NUM3.


    WRITE:  /'I_NUM1=',I_NUM1,
            'I_NUM2=',I_NUM2,
            'I_NUM3=',I_NUM3.
    SKIP.
    "一、  传递参数时将参数的地址(ADDRESS)传至子程序中,也就是子程序中的参数变量与外部程序的参数变量共享地址内的值。
    "又叫CALL BY ADDRESS,若子程序中的参数变量的值发生了改变,那么,外部程序的实际变量的值也发生改变。
    *FORM CALCULATOR USING NUM1 NUM2 CHANGING NUM3.
    *
    *        NUM3 = NUM1 + NUM2.
    *  WRITE:  'NUM1=',NUM1,
    *          'NUM2=',NUM2,
    *          'NUM3=',NUM3.
    *  ENDFORM.

    "二、值传递就是将参数的值复制一份到另一个至内存地址中,所以在子程序中参数变量的值的改变不影响外部程序实际变量的值。
    FORM CALCULATOR USING VALUE(NUM1VALUE(NUM2CHANGING SUM.
      SUM = NUM1 + NUM2.
      NUM1 = NUM1 * NUM2.
      NUM2 = NUM1 * NUM2.
      WRITE: /'NUM1=',NUM1,
             'NUM2=',NUM2,
             'SUM=',SUM.
    ENDFORM.
    "三、传递参数的方式同值传递相同,但在子程序结束执行是会将传入参数变量的最终值回传一份给外部程序变量。
    *FORM CALCULATOR USING NUM1 NUM2 CHANGING VALUE(TOTAL).
    *  TOTAL = NUM1 + NUM2.
    *  WRITE: / 'NUM1=',NUM1,
    *           'NUM2=',NUM2,
    *           'TOTAL=',TOTAL,
    *           'I_NUM3=',I_NUM3.
    *  ENDFORM.

  • 相关阅读:
    java 变量的初始化顺序
    Asp.net MVC3.0 入门指南 1.简介
    使用EnterpriseLibrary5实现数据的缓存(附完整代码下载)
    js showModalDialog 取得(访问)父窗体的语法
    Asp.net MVC3.0 入门指南 2.控制器Controller
    linq 之入门(一) O/R设计器的使用
    sql2000 示例数据库Northwind的 ER图、字段说明及使用Powerdesigner反向工程方法
    局域网共享文件win7系统
    远程桌面 不能粘贴文本 的解决办法
    解决vs2005控件事件为空白
  • 原文地址:https://www.cnblogs.com/salah/p/11917014.html
Copyright © 2011-2022 走看看