用指针类型接受int类型参数

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

阅读 2.9k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题