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;
    }


  • 相关阅读:
    计算机二级Python
    vivado三人表决仿真
    verilog设计加法器
    超前进位加法器
    OO第二单元总结
    OO第一单元总结
    第一次阅读作业
    安卓计算器
    安卓第四周作业
    第十四周作业
  • 原文地址:https://www.cnblogs.com/james1207/p/3270967.html
Copyright © 2011-2022 走看看