zoukankan      html  css  js  c++  java
  • 几种交换两个数函数(swap函数)的写法和解析

    #include <iostream>
    using namespace std;
    
    /*值传递,局部变量a和b的值确实在调用swap0时变化了,当结束时,他们绳命周期结束*/
    void swap0(int a, int b)
    {
    	int tem = a;
    	a = b;
    	b = a;
    }
    
    /*没有初始化指针就开始用,该函数是有问题的*/
    void swap1(int *a, int *b)
    {
    	int *tem;					/*注意tem没有分配内存*/
    
    	*tem = *a;
    	*a = *b;
    	*b = *tem;
    }
    
    /*函数内只是指针的变化,指针的值没有变化*/
    void swap2(int *a, int *b)
    {
    	int *tem;
    
    	tem = a;
    	a = b;
    	b = tem;
    
    }
    
    /*指针传递实现两个数的交换*/
    void swap3(int *a, int *b)
    {
    	int tem;
    
    	tem = *a;
    	*a = *b;
    	*b = tem;
    }
    
    /*指针传递实现两个数的交换*/
    void swap4(int &a, int &b)
    {
    	int tem;
    	
    	tem = a;
    	a = b;
    	b = tem;
    }
    
    int main()
    {
    	int num1 = 1;
    	int num2 = 2;
    	
    	//swap0(num1, num2);
    	
    	//swap1(&num1, &num2);
    
    	//swap2(&num1, &num2);
    
    	//swap3(&num1, &num2);
    
        swap4(num1, num2);
    
    	cout << num1 << endl << num2 << endl;
    	return 0;
    }


  • 相关阅读:
    Run
    axios+Qs请求数据转表单格式
    Vue开发电子书app
    vue2.5开发去哪儿了流程
    ES6重度学习 demo实例
    JS 数组, 对象的增查改删(多语法对比)
    格式化时间戳的n种方法
    Vue中你忽略的点
    vscode代码格式化
    分隔符
  • 原文地址:https://www.cnblogs.com/james1207/p/3270967.html
Copyright © 2011-2022 走看看