用指针类型接受int类型参数a= 5 b = 10 a= 10 b = 5
高洛峰
高洛峰 2016-11-16 14:22:03
0
1
992

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.显然,形参没有接受到,应该接收的数据,但是却达到了应该达到的结果,很不明白。提前感谢。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
三叔

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan