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.

  • 相关阅读:
    C#生成唯一值的方法汇总
    WCF中可以使用SVCUtil.exe生成客户端代理类和配置文件
    C# 打开钱箱支持北洋、佳博、爱普生
    MVC使用 Elmah 日志记录组件
    C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(一)
    C# Gma.QrCodeNet生成二维码
    支付宝支付开发——当面付条码支付和扫码支付
    微信支付四大支付模式分别有哪些区别?
    web安全测试---AppScan扫描工具
    SVN 使用学习记录
  • 原文地址:https://www.cnblogs.com/salah/p/11917014.html
Copyright © 2011-2022 走看看