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;
    }
    
  • 相关阅读:
    3.19 DAY2
    3.18 DAY1
    MySql Scaffolding an Existing Database in EF Core
    asp.net core 2.0 后台定时自动执行任务
    c#中枚举类型 显示中文
    fullCalendar使用经验总结
    Web APP 日期选择控件
    【转】剖析异步编程语法糖: async和await
    【转】Entity Framework 复杂类型
    【转】EF Code First 学习笔记:约定配置
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626175.html
Copyright © 2011-2022 走看看