大众信息网

#include<stdio.h> void sub(doublex,double*y,double*z) {*y=*y-1.0;*z=*z+x;}

答案:2  mip版
解决时间 2021-02-25 13:23
  • 提问者网友:看不透忘不了
  • 2021-02-25 09:36
main()
{
double a=2.5,b=b=9.0,*pa,*pb;
pa=&a;
pb=&b;
sub(b-a,pa,pa);
printf("%f\n",a);
}

请问一下输出结果怎么算,请帮忙解释一下 谢谢
最佳答案
  • 二级知识专家网友:一个人,一辈子
  • 2021-02-25 10:25
从函数参数来看,x=b-a=6.5;y = z是指向a的指针pa,也就是说*y=*z=2.5;由于指针作为参数,可以将函数中计算得到的对指针引用的*y,*x作为最后计算得到的a 的值,从函数语句看,类似做这样的运算,a=a-1.0;a=a+x;这里x=6.5于是计算得到,a=8;由于输出格式为浮点型,输出结果为8.0000000
全部回答
  • 1楼网友:归人
  • 2021-02-25 10:44
#include void sub(doublex,double*y,double*z) { *y=*y-1.0;*z=*z+x; } main() { double a=2.5,b=b=9.0,*pa,*pb; pa=&a; pb=&b; sub(b-a,pa,pa); printf("%f\n",a); } 你有要输入的数据吗??木有啊!!!
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯