选择题
有以下程序:
#include<stdio.h>
void fun(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;
fun(b-a,pa,pb);
printf('%f\n',a);
}
程序运行后的输出结果是______。
A、
8.000000
B、
9.000000
C、
1.500000
D、
10.500000
【正确答案】
C
【答案解析】
main()函数定义两个double类型的变量a、b,分别赋初值为:2.5、9.0,另外定义两个double类型的指针变量pa、pb,其中pa指向a,pb指向b;然后将b-a、pa、pb传给函数fun,此时x的值为7.5,y指向a,z指向b;所以*y=*y-1.0,是将变量a的值减去1.0赋给a,a的值为1.5;*z=*z+x,是将变量b的值加上7.5赋给b,b的值为16.5;fun()函数执行完毕后,输出a的值为1.5。故本题答案为C选项。
提交答案
关闭