c语言题目,求详细解答步骤,谢谢。

#include”stdio.h"voidfun(intx,int*y){x+=*y;*y+=X;}intmain()intx=5,y=10;fun(x,&y);fun(... #include ” stdio.h"
void fun(int x,int *y)

x+=*y ;
*y+=X;
}
int main ()
int x=5, y=10;
fun(x,&y);
fun(y, &x)
printf(" x=%d, y=%d"x,y)
return 0;
展开
 我来答
cdyzxy
2019-12-28 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3583万
展开全部

x=5,y=10, 调用fun时,开设临时变量x和临时变量y,与主程序中并非同一变量,因此可以写成:void fun(int xx,int *yy) { xx+=*yy; *yy=xx; }

fun: xx=5,yy指向y,*yy即取主程序中y的值,给*yy赋值即给主程序中y赋值, xx+=*yy;[xx=5+10=15], *yy+=xx;[y=y+xx=10+15=25], 返回时xx和yy被舍弃, fun(x,&y);[x=5,y=25]

fun: xx=25,yy指向x,xx+=*yy;[xx=25+5=30], *yy+=xx;[x=x+xx=5+30=35], 返回时xx和yy被舍弃, fun(x,&y);[x=35,y=25]

printf输出:x=35,y=25

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式