问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-05-01 21:46

我来回答

4个回答

热心网友 时间:2022-06-23 23:25

一楼说的不对

你的程序我试过了 在这里
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<iostream>
using namespace std;
void swap(int *a,int *b)
{
int *temp;
cout<<a<<" "<<b<<endl;
temp=a;
a=b;
b=temp;
}
void main()
{
int a,b;
cin>>a>>b;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
}

有疑问请追问 满意记得采纳

在传地址时 是调用的你写的swap

在传值时 是调用的系统的 inline 函数 swap

传值时你把你写的swap 注释掉也不影响

传值时单步调试时不进你写的swap

热心网友 时间:2022-06-23 23:26

swap(a,b)是将ab的值传递,而swap(&a,&b)是传递的地址

热心网友 时间:2022-06-23 23:26

1,首先你的swap函数是写错了的!!!变量前面都要加*才能达到交换的目地。

void swap(int *a,int *b)
{
int *temp;
*temp=*a;
*a=*b;
*b=*temp;
}

2,因为swap的参数是(int*a, int*b),所以传参时要传地址,即swap(&a, &b); &a即取a变量的地址。
swap(a,b)是错误的,编译不通过!

热心网友 时间:2022-06-23 23:27

你程序有问题。我帮你改了:
#include<iostream>
using namespace std;
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;

}
void main()
{
int a,b;
cin>>a>>b;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
}

由于你定义swap函数的时候里面的参数是指针型,所以你在传实参的时候要用变量的地址&a,&b
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绿茶要猛冲吗,绿茶鲜嫩不需要(绿茶冲泡的正确方式) 绿茶为什么越好越不耐泡 绿茶要泡几泡?哪种绿茶最耐泡? 哪种绿茶最耐泡 职场故事:美女职员遇到暴躁老板 老板脾气坏得要命,我该怎么办 老板老爱发脾气,我们应该怎么做呀? 害怕老总发脾气怎么办 网络上用名字测和另一个人的关系准确吗 一个男生把自己的名字和另一个人的名字放在一起,中间放个"&amp;"符号... 冒泡排序 快速排序 定义一个带参数的宏swap(x,y),以实现两个整数之间的交换,并利用它将一维数组a和b进行交换。 西瓜的全部营养详细介绍 for循环体对数组前后两个数进行对换程序语言怎么写 西瓜的营养成分高吗? C++中 写一个swap函数 用来交换两个不同大小的数组, 怎么用传入指针实现? java. a类中有个方法swap(int a,int b)作用交换a,b值。 我在主方法调用此方 C语言:定义宏swap(x,y)用于交换两个参数x和y的值,并编写程序测试 平安信用卡怎么调整额度? Pascal中变量形参与数值形参有什么不同?(请详细解释变量形参。) 如果有时间,请帮忙解释有关for语句。 在c++使用swap函数需要怎么样的头文件 定义一个函数swap,功能为交换两个变量a和b的值,在主函数中输入2个数,调用该函数,输出交换后的数据. C语言数值的交换 SWAP函数 c语言中swap(a,b)是什么意思 swap A for B是把A换成B还是把B换成A?是用A交换B还是用B交换A? 物控培训内容与采购培训内容 烤箱版面包糠鸡翅的做法步骤图,怎么做好吃 面包糠,面包糠怎么吃才好 求关于此图的QQ表情包 关于java 的swap C语言定义一个自定义指针函数,使它交换一数组维A,B的值,同时可以交换C,D的值 定义函数swap(int a[], int i ,int j),函数功能为能够实现a[i],a[j]值互换. 将一个3*2的二维数组A表示矩阵(如下图)转置存入B中,再按矩阵的形式输出A和B 编写一个交换变量值的函数,利用该函数交换数组a和数组b中的对应元素值。要求尽量用指针的方法实现。数组a linux里面swap和swpd区别 蓝底背景配什么字好看 像这样的淡蓝色背景配什么字体 什么颜色的字好看 泰安站和泰山站有什么区别? 怎样把手机上的视频弄到电脑上观看(微信里的)? 推荐几本很虐很虐虐心虐身的超虐小说 有什么很虐很虐的小说可以介绍吗?我非常喜欢那种虐到极致的感觉! 小米手机3现在价格多少 小米3报价多少钱? 有没有很虐的小说? 现在小米3能卖多少钱 小米3现在大概多少钱? 小米3现在报价是多少?为什么市场上卖的价钱比官网高啊 小米3现在报价是多少?为什么市场上卖的价钱比官网高啊 小米3。20148.1号市场最新报价