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.

  • 相关阅读:
    去掉FALSH背景的代码
    问一个比较傻瓜的问题关于 this.TextBox1.Visible = true;
    网页防止复制 下载 另存为的JS
    [转] left join/right join/inner join操作演示
    VS2003新起项目步骤
    我专严新闻小偷之心得与大家交流
    ACCESS数据库里SQL语句的3个表联合,和SQL有很大差别
    vs2005常用快捷键
    NoSql中的CAP分类【转载】
    epoll用法【整理】
  • 原文地址:https://www.cnblogs.com/salah/p/11917014.html
Copyright © 2011-2022 走看看