项目1——C/C++语言中参数传递的三种方式
来源:互联网 发布:js跨域的实现原理 编辑:程序博客网 时间:2024/06/07 13:08
//(3)引用作形参#include<iostream>void myswap(int &x, int &y){ int t; t=x; x=y; y=t;}int main(){ int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); //分三个程序,分别写上调用myswap的合适形式 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0;}//(2)传地址#include<iostream>void myswap(int *p1, int *p2){ int t; t=*p1; *p1=*p2; *p2=t;}int main(){ int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(&a,&b); //分三个程序,分别写上调用myswap的合适形式 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0;}//(1)传值#include<iostream>void myswap(int x, int y){ int t; t=x; x=y; y=t;}int main(){ int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); //分三个程序,分别写上调用myswap的合适形式 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0;}
使用传值方法调用函数时,交换不成功,所交换的是x和y的值,即形式参数,对于要交换的a和b是无效的。使用传地址的方法调用函数时,所调用的是a和b的地址&a和&b,x和y分别作为指针指向a和b。执行过程中,t赋值为x指向的值,使得t=x,x所指向的值赋值为y指向的值,y指向的值赋值为t。使用引用作形参方法调用函数时,加入引用数据类型,原来的a,b,对形式参数x,是a的引用,x与a所占内存相同,同理。y与b所占内存相同,所以在交换过程中,是交换了x和y所占用的空间,即交换了a和b。
阅读全文
0 0
- 第二周项目1—C++/C语言中函数参数传递的三种方式
- 项目1——C/C++语言中参数传递的三种方式
- 第二周项目1—C/C++语言中函数参数传递的三种方式
- 第二周项目1—C/C++语言中函数参数传递的三种方式
- 项目1—C/C++语言中函数参数传递的三种方式
- 第二周 项目1—C/C++语言中函数参数传递的三种方式
- 第二周项目 1—C/C++语言中函数参数传递的三种方式
- 第一周项目 — C/C++语言中函数参数传递的三种方式
- 第二周项目—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周项目 2—C/C++语言中函数参数传递的三种方式
- 第二周上机实践—项目1—C/C++语言中函数参数传递的三种方式
- 第二周项目1——c/c++语言中函数参数传递的三种方式
- 第2周SHH数据结构—【项目1 - C/C++语言中函数参数传递的三种方式】
- 第2周项目1—c/c++语言中函数参数传递的三种方式
- DBGridEh设置选中的行的颜色
- 先锋机器人实践(二):RosAria_client代码注释
- JDBCUtils
- Tomcat connector 实现原理
- Codeforces Round #433 B.Maxim Buys an Apartment
- 项目1——C/C++语言中参数传递的三种方式
- TensorFlow
- 正则表达式
- LeetCode | 78. Subsets
- Hook学习(四):寻找突破点-ServiceManager
- Eclipse中配置mybatis-3-config.dtd
- 如何在Mac OS X中开启或关闭显示隐藏文件命令
- 9/7 javasScript对象、构造函数、数组的迭代方法
- 一个可以过滤其他开发者日志的LogUtil工具类,团队开发中的你值得拥有!