search

Home  >  Q&A  >  body text

用指针类型接受int类型参数a= 5 b = 10 a= 10 b = 5

1.swap函数中,我传入的实参是两个int类型的数字,但是在接受的时候,用的形参是指针类型变量,但是,最终,交换两个整数的目的却实现了。在swap()函数里边,的打印或者返回什么东西,都无法显示,按理来说应该是,不能实现功能的。很疑惑。

2.相关的代码:

#include <iostream>
using namespace std;
void swap(int * m, int * n)
{
    int temp;
    temp = *m;
    *m = *n;
    *n = temp;
    cout<<"m = "<<*m<<" n = "<<*n<<endl;
}

int main()
{
    int a=5,b=10;
    int c;
    cout<<"a= "<<a<<" b = "<<b<<endl;
    swap(a,b);
    cout<<"a= "<<a<<" b = "<<b<<endl;
    return 0;
}

3.输出结果的结果:

a= 5 b = 10
a= 10 b = 5

4.显然,形参没有接受到,应该接收的数据,但是却达到了应该达到的结果,很不明白。提前感谢。

高洛峰高洛峰2956 days ago1006

reply all(1)I'll reply

  • 三叔

    三叔2016-11-16 14:22:25

    你是是不忘了还有这个std::swap()

    reply
    0
  • Cancelreply