程序执行结果为: 1020 function swap begin a= 10 b=20 function swap begin a=20 b=10 main program a=10 b=20 Press any key to continue 人民邮电出版社 POSTS tEl OM PRE 动此映
程序执行结果为: 10 20 function swap begin a=10 b=20 function swap begin a=20 b=10 main program a=10 b=20 Press any key to continue
3.2.2.2传址业凋用 使用传址调用方式时,形参是指针变量, 实参数是数据的地址值,由主调程序向被 调用函数传递的是指向参数的指针。在函 数调用时,把实参数地址赋给形式参数 形式参数和实参数都使用同一地址中的值 因此,形式参数的任何改变都会导致实参 数值的改变。 人民邮电出版社 POSTS tEl OM PRE 动此映
3.2.2.2 传址调用 使用传址调用方式时,形参是指针变量, 实参数是数据的地址值,由主调程序向被 调用函数传递的是指向参数的指针。在函 数调用时,把实参数地址赋给形式参数, 形式参数和实参数都使用同一地址中的值。 因此,形式参数的任何改变都会导致实参 数值的改变
【例3.3】两整型数互换。 #include <iostream.h> void swap(int ,int ) //数声明或函数原型 void mainO int a, by cin>>a>>b 人民邮电出版社 POSTS tEl OM PRE 动此映
【例3.3】两整型数互换。 #include <iostream.h> void swap(int *,int *); //函数声明或函数原型 void main() { int a,b; cin>>a>>b;
swap(&a, &b) cout<< main program a=<<a<< t b="<<b<<"mn"; /数定义 人民邮电出版社 POSTS tEl OM PRE 动此映
swap(&a,&b); cout<<"main program a="<<a<<"\t b="<<b<<"\n"; } //函数定义
void swap(int*a, int*b) int t; cout<< function swap begin 2a="<<a<<"b=<<如b<<"mn"; a *a= b *b=t; cout<< function swap end *a=<<a<<t 2b="<<b<<"n"; 人民邮电出版社 POSTS tEl OM PRE 点破此处放
void swap(int *a,int *b) { int t; cout<<"function swap begin *a="<<*a<<"\t *b="<<*b<<"\n"; t=*a; *a=*b; *b=t; cout<<"function swap end *a="<<*a<<"\t *b="<<*b<<"\n"; }