若有以下程序:#include<stdio.h>void su

若有以下程序:#include<stdio.h>void sub(double x,double*y,double*z){  *Y=*y-1.0;*z=*z+x;)main(){double a=2.5,b 9.0,*pa,*pb;pa=&a;pb=&b;sub(b-a,pa,pa);printf(”%f\n”,a);)程序的输出结果是(  )。

问题:

[单选] 若有以下程序:
#include<stdio.h>
void sub(double x,double*y,double*z){ *Y=*
y-1.0;*z=*z+x;)
main()
{double a=2.5,b 9.0,*pa,*pb;
pa=&a;pb=&b;
sub(b-a,pa,pa);printf(”%f\n”,a);
)
程序的输出结果是(  )。

A . 9.000000
B . 1.500000
C . 8.000000
D . 10.500000

参考答案:C

参考解析:

C。【解析】从函数参数来看,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。因此正确答案为C。

联系我们

联系我们

查看联系方式

邮箱: 2643773075@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部