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;
    }
    
  • 相关阅读:
    day3-python之函数进阶(三)
    day3-python之函数初识(二)
    day3-python之文件操作(一)
    tomcat
    集群
    nginx
    nginx--zabbix监控status waiting
    zabbix监控之mysql主从状态&mysql主从延迟
    zabbix监控之进程&日志监控
    zabbix监控流程(监控linux上某个文件是否有改动)
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626174.html
Copyright © 2011-2022 走看看