- 帕斯卡教程
- 帕斯卡 - 主页
- 帕斯卡 - 概述
- Pascal - 环境设置
- 帕斯卡 - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- 帕斯卡 - 常数
- 帕斯卡 - 运算符
- 帕斯卡 - 决策
- 帕斯卡 - 循环
- 帕斯卡 - 函数
- 帕斯卡 - 程序
- Pascal - 变量作用域
- 帕斯卡 - 弦乐
- 帕斯卡 - 布尔
- 帕斯卡 - 数组
- 帕斯卡 - 指针
- 帕斯卡 - 记录
- 帕斯卡 - 变体
- 帕斯卡 - 集合
- 帕斯卡 - 文件处理
- 帕斯卡 - 记忆
- 帕斯卡 - 单位
- 帕斯卡 - 日期和时间
- 帕斯卡 - 对象
- 帕斯卡 - 类
- 帕斯卡有用资源
- 帕斯卡 - 快速指南
- 帕斯卡 - 有用的资源
- 帕斯卡 - 讨论
Pascal - 按值调用子程序
将参数传递给子程序的按值调用方法将参数的实际值复制到子程序的形式参数中。在这种情况下,对函数内部参数所做的更改不会对参数产生影响。
默认情况下,Pascal 使用按值调用方法来传递参数。一般来说,这意味着子程序中的代码不能更改用于调用子程序的参数。考虑过程swap()定义如下。
procedure swap(x, y: integer); var temp: integer; begin temp := x; x:= y; y := temp; end;
现在,让我们通过传递实际值来调用过程 swap(),如下例所示 -
program exCallbyValue; var a, b : integer; (*procedure definition *) procedure swap(x, y: integer); var temp: integer; begin temp := x; x:= y; y := temp; end; begin a := 100; b := 200; writeln('Before swap, value of a : ', a ); writeln('Before swap, value of b : ', b ); (* calling the procedure swap by value *) swap(a, b); writeln('After swap, value of a : ', a ); writeln('After swap, value of b : ', b ); end.
当上面的代码被编译并执行时,它会产生以下结果 -
Before swap, value of a :100 Before swap, value of b :200 After swap, value of a :100 After swap, value of b :200
pascal_procedures.htm