大众信息网

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

关注:66  答案:2  手机版
解决时间 2021-02-25 13:23
main()
{
double a=2.5,b=b=9.0,*pa,*pb;
pa=&a;
pb=&b;
sub(b-a,pa,pa);
printf("%f\n",a);
}

请问一下输出结果怎么算,请帮忙解释一下 谢谢
最佳答案
从函数参数来看,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
全部回答
#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); } 你有要输入的数据吗??木有啊!!!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!