第2周项目1-C/C++语言中函数参数传递的三种方式
来源:互联网 发布:数据分析职称 编辑:程序博客网 时间:2024/06/10 05:20
//(1)传值#include <iostream> void myswap(int,int); using namespace std; int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; } void myswap(int x, int y){ int t; t=x; x=y; y=t;}
程序结果运行演示:
程序结果分析:
很明显第一个版本的交换变量方式不可行,原因是只传递了形参的值,而并未改变实参的值。形参在传递交换之后,内存空间被清除,而实参的内存空间与形参的内存空间相互独立,实参的值在形参内存被释放后仍未被更改,所以输出结果和原来输入的值相同。
//(2)传地址#include <iostream> void myswap(int *,int *); using namespace std; int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); int *p1=&a; int *p2=&b; myswap(p1,p2); printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; } void myswap(int *p1, int *p2) { int t; t=*p1; *p1=*p2; *p2=t; }
程序结果运行演示:
程序结果分析:
第二个程序中定义了两个整型指针p1,p2分别指向整型变量a,b的地址,这样在交换过程中传递的是p1与p2所指向地址存放的内容,故a,b得以交换成功。
//(3) 引用作形参 #include <iostream> void myswap(int &a,int &b); using namespace std; int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; } void myswap(int &x, int &y) { int t; t=x; x=y; y=t; }
程序结果分析:
第三个程序运用引用传递变量,形参与实参共同用一块内存空间,所以交换成功。
阅读全文
0 0
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1 - C/C++语言中函数参数传递的三种方式
- 第2周项目1C/C++语言中函数参数传递的三种方式
- 第2周 项目1 - C/C++语言中函数参数传递的三种方式
- 第2周 项目1 - C/C++语言中函数参数传递的三种方式
- 第2周项目1--c/c++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1c/c++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 第2周 项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 有关cin和cout
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'executable'.
- SpringMVC+MyBatis+JMS+JTA(分布式事务)
- Android进程保活
- Android NumberPicker滚动字符串
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- Logstash的性能测试 二
- OPENCL:从朴素到更具深度的编程(转载)
- iOS苹方字体使用说明
- 让IIS支持WCF的netTcpBinding
- servlet的url-pattern匹配规则详细描述
- 关于守护进程linuxc
- 大型网站技术架构
- logstash性能测试