zoukankan      html  css  js  c++  java
  • 交换两个实参的值(c++)

    1. 引用

    #include <iostream>
    using namespace std;
    void swap( int &a, int &b )
    {
        int temp;
        temp=a; a=b; b=temp;
    }
    
    int main()
    {
        int x=3, y=5;
        cout<<" x= "<<x<<" y= "<<y<<endl;
        swap( x, y );
        cout<<" x= "<<x<<" y= "<<y<<endl;
        return 0;
    }
    

    2. 指针

    #include <iostream>
    using namespace std;
    void swap( int *a, int *b )
    {
        int temp;
        temp = *a;
        *a = *b;
        *b = temp;
    }
    
    int main()
    {
        int x=3, y=5;
        cout<<" x= "<<x<<" y= "<<y<<endl;
        swap( &x, &y );
        cout<<" x= "<<x<<" y= "<<y<<endl;
        return 0;
    }
    

    几个错误举例:

    错误示例1:(光改变形参是没有用的)

    #include <iostream>
    using namespace std;
    void swap( int a, int b )
    {
        int temp;
        temp=a; a=b; b=temp;
    }
    
    int main()
    {
        int x=3, y=5;
        cout<<" x= "<<x<<" y= "<<y<<endl;
        swap( x, y );
        cout<<" x= "<<x<<" y= "<<y<<endl;
        return 0;
    }
    

    错误示例2:(指针概念不清,不知道新定义的指针temp指向哪里)

    #include <iostream>
    using namespace std;
    void swap( int *a, int *b )
    {
        int *temp;
        *temp = *a;
        *a = *b;
        *b = *temp;
    }
    
    int main()
    {
        int x=3, y=5;
        cout<<" x= "<<x<<" y= "<<y<<endl;
        swap( &x, &y );
        cout<<" x= "<<x<<" y= "<<y<<endl;
        return 0;
    }
    

    错误示例3:(指针概念不清,交换了地址)

    #include <iostream>
    using namespace std;
    void swap( int *a, int *b )
    {
        int *temp;
        temp = a;
        a = b;
        b = temp;
    }
    
    int main()
    {
        int x=3, y=5;
        cout<<" x= "<<x<<" y= "<<y<<endl;
        swap( &x, &y );
        cout<<" x= "<<x<<" y= "<<y<<endl;
        return 0;
    }
    
  • 相关阅读:
    数据库
    用hosts管理IP和域名
    软件测试周期
    jdk安装、环境配置
    IntelliJ IDEA 下载、安装、破解及卸载
    Servlet线程
    servlet什么时候被实例化?【转】
    JSP转译成Servlet详细过程【转】
    电脑使用--快捷键等【转】
    api大全
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626175.html
Copyright © 2011-2022 走看看