这个题选什么?c语言

求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确招待此功能的函数是:A.funa(int*x,int*y){int*p;*p=*x;*x=*y;*y=*... 求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确招待此功能的函数是:
A. funa(int *x,int *y)
{int *p;
*p=*x;*x=*y;*y=*p;
}
B. funb(int x,int y)
{int t;
t=x;x=y;y=t;
}
C.func(int x,int y)
{*x=*x+*y;*y=*x-*y;*x=*x-*y;
}
为什么B项不正确??
展开
 我来答
WWWDAO
2007-01-28
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
B. funb(int x,int y)
{int t;
t=x;x=y;y=t;
////////////////////////////////////////////////////
//x=y是y的值变为x的值,后面y=t是x的值变为y的值,这里只让y的值变成x而没有把y的值变为x的值,没有完全交换x和y中的值。
leon0905
2007-01-28 · 超过14用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:0
展开全部
形参的改变不影响实参
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
261535724
2007-01-28 · TA获得超过1498个赞
知道答主
回答量:144
采纳率:0%
帮助的人:0
展开全部
B是按值传递,形参不能改变实参
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guyuan_travel
2007-01-28
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
需要说明一点,这个funb内的x.y和funb外的x.y不是同一变量.函数内的x和y的值是确实改变了,但也只是在这个funb小范围内有效,出了funb,原来的值该是多少还是多少,不变.这就是形参和实参的区别.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式