作业帮 > 综合 > 作业

swap(&a,&b)和swap(a,b)在以下题目中有什么区别?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/02 16:49:11
swap(&a,&b)和swap(a,b)在以下题目中有什么区别?
#include
using namespace std;
void swap(int *a,int *b)
{
int *temp;
temp=a;
a=b;
b=temp;
}
void main()
{
\x05int a,b;
cin>>a>>b;
\x05swap(a,b);
\x05cout
swap(&a,&b)和swap(a,b)在以下题目中有什么区别?
一楼说的不对
你的程序我试过了 在这里
cin>>a>>b;
swap(a,b); 这个是对的 swap(&a,&b) 是错的
因为
void swap(int *a,int *b)
是指针 所以需要传值
而传地址的话 相当于 *a *b 指向地址 然后把*a *b 指向的地址值交换了一下
所以后面输出 数值不变
当传地址时 结果如下
3 4
0012FF7C 0012FF78
3 4
Press any key to continue
#include
using namespace std;
void swap(int *a,int *b)
{
int *temp;
cout