0
点赞
收藏
分享

微信扫一扫

函数的 传递方式

程序员伟杰 2022-03-14 阅读 49

传递方式一:值传递

​#include<stdio.h>void Exchg1(int x,int y){int tmp;tmp=x;x=y;y=tmp;printf("x=%d,y=%d",x,y);}int main(){int a=4,b=6;Exchg1(a,b);printf("a=%d,b=%d",a,b);}​

最后的结果为x=6,y=4 a=4,b=6,原因如下:watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSp55yf5bCP5ber,size_20,color_FFFFFF,t_70,g_se,x_16

传递方式二: 地址传递

#include<stdio.h>void Exchg2(int *px,int *py){int tmp=*px;*px=*py;*py=tmp;printf("*px=%d,*py=%d.",*px,*py);}int main(){int a=4;int b=6;Exchg2(&a,&b);printf("a=%d,b=%d.",a,b);} 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSp55yf5bCP5ber,size_20,color_FFFFFF,t_70,g_se,x_16

 

运行后的结果是: *px=6,*py=4   a=6,b=4,通过值传递,运行函数Exchg2是可以实现a,b两数的交换的。

传递方式三:引用传递

#include<stdio.h>void Exchg3(int &x,int &y){int tmp=x;x=y;y=tmp;printf("x=%d,y=%d.",x,y);}main(){int a=4;int b=6;Exchg3(a,b);//这里调用方式与值传递 一样 printf("a=%d,b=%d.",a,b);}

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSp55yf5bCP5ber,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

举报

相关推荐

0 条评论