第二周 项目1-C/C++语言中函数参数传递的三种方式
2016-09-06 18:07
239 查看
问题及代码:
代码1:
代码2:
/*
* Copyright (C) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称 : bigice.cpp
* 作 者 : 何大冰
* 完成日期 : 2016年9月6日
* 版 本 号 : v1.0
* 问题描述 :变量交换第二代
* 输入描述 :3 5
* 程序输出 :5 3
*/
#include <iostream>
using namespace std;
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);
printf("调用交换函数后的结果是:%d和%d\n",a,b);
return 0;
}
代码3:
/*
* Copyright (C) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称 : bigice.cpp
* 作 者 : 何大冰
* 完成日期 : 2016年9月6日
* 版 本 号 : v1.0
* 问题描述 :变量交换第三代
* 输入描述 :3 5
* 程序输出 :5 3
*/
#include <iostream>
using namespace std;
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);
printf("调用交换函数后的结果是:%d和%d\n",a,b);
return 0;
}
运行结果:代码1交换失败:
代码2交换成功:
代码3交换成功:
知识点总结:
代码1:主函数定义了,a,b两个变量,申请了两块内存,然后调用myswap函数时,myswap函数也申请了两块内存,x,y变量,这几块内存是相互独立的,a,b变量只将值传给x,y,而函数执行结束,x,y的生存期结束,a,b仍为原来的值
代码2:
代码3:
学习心得:
再一次复习了基本知识,回忆起了当初学指针时的情景
代码1:
/* * Copyright (C) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称 : bigice.cpp * 作 者 : 何大冰 * 完成日期 : 2016年9月6日 * 版 本 号 : v1.0 * 问题描述 :变量交换 * 输入描述 :3 5 * 程序输出 :3 5 */ #include <iostream> using namespace std; 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); printf("调用交换函数后的结果是:%d和%d\n",a,b); return 0; }
代码2:
/*
* Copyright (C) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称 : bigice.cpp
* 作 者 : 何大冰
* 完成日期 : 2016年9月6日
* 版 本 号 : v1.0
* 问题描述 :变量交换第二代
* 输入描述 :3 5
* 程序输出 :5 3
*/
#include <iostream>
using namespace std;
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);
printf("调用交换函数后的结果是:%d和%d\n",a,b);
return 0;
}
代码3:
/*
* Copyright (C) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称 : bigice.cpp
* 作 者 : 何大冰
* 完成日期 : 2016年9月6日
* 版 本 号 : v1.0
* 问题描述 :变量交换第三代
* 输入描述 :3 5
* 程序输出 :5 3
*/
#include <iostream>
using namespace std;
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);
printf("调用交换函数后的结果是:%d和%d\n",a,b);
return 0;
}
运行结果:代码1交换失败:
代码2交换成功:
代码3交换成功:
知识点总结:
代码1:主函数定义了,a,b两个变量,申请了两块内存,然后调用myswap函数时,myswap函数也申请了两块内存,x,y变量,这几块内存是相互独立的,a,b变量只将值传给x,y,而函数执行结束,x,y的生存期结束,a,b仍为原来的值
代码2:
代码3:
学习心得:
再一次复习了基本知识,回忆起了当初学指针时的情景
相关文章推荐
- 第二周项目1--C/C++语言中函数参数传递的三种方式
- 第二周 项目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++语言中函数参数传递的三种方式(一):传值
- 第二周项目1 C/C++语言中函数参数传递的三种方式
- 第二周上机实践—项目1—C/C++语言中函数参数传递的三种方式
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(二):地址传递
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- 第二周项目1-c/c++语言中函数参数传递的三种方式
- 第二周上机实践项目2——C/C++语言中函数参数传递的三种方式
- 第二周项目—C/C++语言中函数参数传递的三种方式
- 第二周 项目1 C/C++语言中函数参数传递的三种方式
- 第二周项目1 - C/C++语言中函数参数传递的三种方式
- 第二周项目1-C/C++语言中函数参数传递的三种方式