c++ 交换变量实践



#include <stdio.h>
#include<iostream>
using namespace std;

//c++的引用 实现交换变量
void swap(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}


//通过指针实现交换变量
void  swap1(int *i, int *j) {
    int t = *i; //将*i(a)的数值赋值给t
    *i = *j;    //*将j(b)的数值赋值给i(&a)所指向的内存空间
    *j = t; //*将t的数值赋值给j(&b)所指向的内存空间
}


//这里是只是交换指针,不会交换变量的值
void  swap2(int *i, int *j) {
    int *t=i ;


     i = j;
     j = t;
}


//所有的交换都在swap中,但是这个交换没有返回值,当i,j 交换后,随即释放,不会对原来的值a,b 有任何影响
void  swap3(int i, int j) {
    int t=i ;
    i = j;
    j = t;
}





int main()
{
    int num1 = 10;
    int num2 = 20;
    cout<<num1<<" "<<num2<<endl;

    //swap(num1, num2);
    //swap1(&num1, &num2);
    //swap2(&num1, &num2);
    swap3(num1, num2);
    cout<<num1<<" "<<num2<<endl;
    return 0;
}


posted @   luoganttcc  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示