以下程序运算正确的结果

 

x是8

a=a-1;b=b+8;

sub(b-a,&a,&b)的意思是sub(8,&a,&b),&在C语言中是地址符,也就是将变量a,b的内存地址传递给了指针变量y,和z,意味着变量a,b的值会随指针变量y,z变化而变化,sub函数中,*y=*y-1,就是2.5-1=1.5,*z=*z+x,也就是z=10.5+8=18.5

最后输出a,b:1.50,18.50

结果是1.50,18.50,执行过程如下:

sub(b-a,&a,&b),即sub(8.0,2.50,10.50)

在sub函数中:

*y = *y -1:y的值 = y的值 -1,也就是a -1 (值:2.50 - 1),结果是1.50,也就是最终a的值。

*z =*z +x:z的值= z的值 + x的值,也就是b + (b -a)(值:10.50 + 8.00),结果是18.50,也就是最终b的值。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632