#include<iostream>
using namespace std;
//讲解局部变量的作用范围 只在 函数内部 函数结束后局部变量的生命周期 也结束
//真的能实现 值得交换吗??
void swap(int , int );
void realswap(int* ,int*);//这个课以将局部变量的值 改变
//任何在函数外部定义的变量时 全局变量------一般在main函数之外定义
int main()
{
int x = 6;
int y = 9;
cout<<"swap 之前 x= "<<x<<" y = "<<y<<endl;//这个 endl 是换行符 担忧flush的换行符 在操作显示器的时候 经常用
swap(x,y);//这个函数 并没有交换 值 那么 我们可以用 地址来将二者交换
cout<<"swap 之后 x = "<<x<<" y = "<<y<<endl;
realswap(&x,&y);
cout<<"swap 之后 x = "<<x<<" y = "<<y<<endl;
return 0;
}
void swap(int a,int b)//
{
//为甚吗这个函数 不能进行 交换 因为 在调用函数的时候 外部变量吧值 赋给了局部变量 a b 这样就不是操作外部变量了
int z;
z = a;
a = b;
b = z;
cout<<"swap zhong de a = "<<a<<" "<<" b = "<<b<<endl;
}
//利用地址 可以把 两个值彻底交换 但是 不用地址 就不能交换
void realswap(int * a,int *b)
{
int z;
z = *a;
*a = *b;
*b = z;
}