急C语言高手来看看吧!

求编写一个swap()函数,使之能把两个变量的值交换,主函数如下:main(){inta,b;scanf("%d%d",&a,&b);swap(&a,&b);printf... 求编写一个swap()函数,使之能把两个变量的值交换,主函数如下:
main()
{int a,b;
scanf("%d%d",&a,&b);
swap(&a,&b);
printf("%d %d\n",a,b);
}
还有"&"此符号在C语言中的用处,越详细越好.谢谢
展开
 我来答
百度网友0a9ebac
2007-01-05 · TA获得超过813个赞
知道小有建树答主
回答量:1360
采纳率:0%
帮助的人:1298万
展开全部
void swap(int *p,int *p1)/*操作地址*/
{
int temp;/*临时成员*/
*p=temp;
*p=*p1;
*p1=temp;
}
main()
{int a,b;
scanf("%d%d",&a,&b);
swap(&a,&b);
printf("%d %d\n",a,b);
}/*&是取地址运算 这要设计到指针问题 先了解指针比较好*/
lhongliangi
2007-01-05
知道答主
回答量:32
采纳率:0%
帮助的人:15.4万
展开全部
void swap(int *a,int *b)
{
*a=*a+*b;
*b=*a-*b;
*a=*a-*b;

}

int main(int argc, char* argv[])
{
int a,b;
scanf("%d %d",&a,&b); //两个%d之间加入空格分割
swap(&a,&b);
printf("%d %d\n",a,b);

return true;
}

&在这里是取地址。&还可以用做引用 例如下面

void swap(int &a,int &b)
{
a= a+ b;
b= a- b;
a= a- b;
}

int main(int argc, char * argv[])
{
int a,b;
scanf("%d %d",&a,&b);
swap(a,b);
printf("%d %d\n",a,b);

return true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
m3329
2007-01-05 · TA获得超过102个赞
知道答主
回答量:124
采纳率:0%
帮助的人:0
展开全部
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}

操作符&用来取变量地址,对于函数来说不起作用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蚀剑邀月
2007-01-05 · TA获得超过302个赞
知道答主
回答量:112
采纳率:0%
帮助的人:59.5万
展开全部
我来将一下:
scanf("%d%d",&a,&b); 在这一句中,&的作用是取地址运算符。因为在scanf语句中所有的参数必须是要有一个地址的。所以以后只要你使用到scanf这个标准输入函数都必须要在参数都前面加上这个取地址运算符。
swap(&a,&b); 在这一句中它的作用还是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2007-01-05
展开全部
include "stdio.h"
void main()
{int a,b;
scanf("%d%d",&a,&b);
swap(a,b);
printf("%d %d\n",a,b);
}
swap(int x,int y)
{
int z;
z=x;
x=y;
y=z;
return x,y;
}
&是取地址用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangsdong
2007-01-05 · TA获得超过160个赞
知道小有建树答主
回答量:1097
采纳率:0%
帮助的人:958万
展开全部
取变量在内存中的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式