#include<iostream> using namespace std; void swap(int *a, int*b) { int t; t=*a; *a=*b; *b=t; } void

和#include<iostream>usingnamespacestd;voidswap(inta,intb){intt;t=a;a=b;b=t;}voidmain()... 和#include<iostream>
using namespace std;
void swap(int a, int b)
{
int t;
t=a;
a=b;
b=t;
}
void main()
{
int i, j;
i=8;j=6;
swap(i,j);
cout<<i<<","<<j<<endl;
}

#include<iostream>
using namespace std;
void swap(int *a, int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
void main()
{
int i, j;
i=8;j=6;
swap(&i,&j);
cout<<i<<","<<j<<endl;
}
有什么区别啊 ?
展开
 我来答
问号朵朵
2011-03-29 · TA获得超过3.4万个赞
知道小有建树答主
回答量:2383
采纳率:0%
帮助的人:677万
展开全部
1、void swap(int a, int b)
a和b为按值引用,在main中调用swap(i,j);不会改变main中i,j的值。传入swap中的i和j只是main中 i 和 j 的副本。
2、void swap(int *a, int *b)
a和b为按指针引用,在main中调用swap(&i,&j);会改变main中i,j的值。传入swap中的i和j是main中 i 和 j 在内存中的地址。
3、还有一种:void swap(int &a, int &b)
a和b为引用,在main中调用swap(i,j);会改变main中i,j的值。传入swap中的i和j是i和j的引用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式