您的位置:首页 > 编程语言 > C语言/C++

C语言交换两个变量的值

2017-10-03 00:50 239 查看
注意,C语言没有引用,C++才有引用。

通过指针操作(传址)才能在函数里面修改函数外面的变量值,传值只会修改函数里面变量的值。

#include<stdio.h>
void swap(int*,int*);
//void swap2(int &x,int &y)//错误,C语言没用引用,C++才有应用
void main()
{
int x=10;
int y=20;
printf("x=%d,y=%d\n",x,y);
swap(&x,&y);
printf("x=%d,y=%d\n",x,y);
// swap2(x,y);
// printf("x=%d,y=%d\n",x,y);
}
void swap(int* x,int* y)
{
int temp;//缓存
temp=*x;//取出x指向的地址空间中的数放到缓存中,
*x=*y;//取出y指向的地址空间中的数,把这个数方法到x指向的地址空间中
*y=temp;//缓存中的数,放入y指向的地址空间
}
//void swap2(int &x,int &y)
//{
// int temp;
// temp=x;
// x=y;
// y=temp;
//}
结果:
x=10,y=20
x=20,y=10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: