为了账号安全,请及时绑定邮箱和手机立即绑定

为什么两个函数运算结果不同

为什么两个函数运算结果不同

C++
不凡的蚂蚁 2017-01-24 22:08:40
#include <iostream>using namespace std;void swap(int a, int b){ int temp = a; a = b; b = temp;}void swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}int main(){ int i = 5; int j = 10; cout<<"Before swap: i="<<i<<",j="<<j<<endl; swap(i,j); cout<<"After the first swap: i="<<i<<",j="<<j<<endl; swap(&i,&j); cout<<"After the second swap: i="<<i<<",j="<<j<<endl; return 1;}
查看完整描述

1 回答

已采纳
?
心有猛虎_细嗅蔷薇

TA贡献119条经验 获得超250个赞

void swap(int a, int b)    //值的拷贝

调用swap(i,j);使形参的值与实参一样

void swap(int *a, int *b)    //值地址的引用

调用swap(&i,&j);使形参指向实参所在的内存地址。


这里考察的是函数参数的传递方式——传值与传地址。




查看完整回答
2 反对 回复 2017-01-25
  • 1 回答
  • 0 关注
  • 1154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信