问题及代码:
/* 文件名称:项目0.cpp 作者:孙洁 完成日期:2015.9.8 问题描述:函数参数传递的三种方式 输入描述:两个数:2 3 程序输出:(1)2 3 (2)3 2 (3)3 2 */ (1) #include<stdio.h> 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); void myswap(int x,int y); printf("调用交换函数后的结果是:%d和%d\n",a,b); return 0; } (2) #include<stdio.h> 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); void myswap(int*p1,int *p2); printf("调用交换函数后的结果是:%d和%d\n",a,b); return 0; } (3) #include<stdio.h> 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); printf("调用交换函数后的结果是:%d和%d\n",a,b); return 0; }
运行结果:
知识点总结:
直接传值并不能将数值转换,而用地址传值和引用作行参可以方便的将数值传递,其中还使用了函数调用。
学习心得:
多种函数参数传递的方式和c语言的应用。