zoukankan      html  css  js  c++  java
  • vc++6.0环境中swap函数

    Vc++6.0环境下Swap函数的变化

    #include<iostream>
    
    using namespace std;
    
    void main()
    
    {
    
           void swap(double&,double&);
    
           double a,b;
    
           cout<<"请输入两个数a和b:";
    
           cin>>a>>b;
    
           swap(a,b);
    
           cout<<"a="<<a<<"b="<<b;
    
    }
    
    void swap(double &x,double &y)
    
    {
    
           double temp;
    
           temp=x;
    
           x=y;
    
           y=temp;
    
    }

    运行结果如下:

     

    显示并没有交换。把程序稍微改一下:

    #include<iostream>
    
    using namespace std;
    
    void swap(double&,double&);
    
    void main()
    
    {
    
                  double a,b;
    
           cout<<"请输入两个数a和b:";
    
           cin>>a>>b;
    
           swap(a,b);
    
           cout<<"a="<<a<<"b="<<b;
    
    }
    
    void swap(double &x,double &y)
    
    {
    
           double temp;
    
           temp=x;
    
           x=y;
    
           y=temp;
    
    }
    

    将swap函数声明放在main函数的外面。

    为什么声明放在里面没有交换呢?通过调试发现,我们定义的swap函数根本没有执行,而是执行了系统里的同名swap函数,这个函数并没有完成交换的功能。

       再把程序改一下:

    #include<iostream.h>
    
    void main()
    
    {
    
           void swap(double&,double&);
    
           double a,b;
    
           cout<<"请输入两个数a和b:";
    
           cin>>a>>b;
    
           swap(a,b);
    
           cout<<"a="<<a<<"b="<<b;
    
    }
    
    void swap(double &x,double &y)
    
    {
    
           double temp;
    
           temp=x;
    
           x=y;
    
           y=temp;
    
    }

    运行结果如下:

    这次完成了交换,这事因为传统的头文件<iostream.h>里并没有包含同名的swap函数。

  • 相关阅读:
    dagScheduler
    elasticsearch映射
    elasticsearch数据结构
    spring boot 整合 elasticsearch 5.x
    spark快速开发之scala基础之5高阶函数,偏函数,闭包
    Halcon学习笔记2
    HALCON算子1
    Halcon学习笔记1
    ML-学习提纲2
    ML-学习提纲1
  • 原文地址:https://www.cnblogs.com/albert1017/p/2738024.html
Copyright © 2011-2022 走看看