问题:
[单选] 若有以下程序:#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。【解析】从函数参数来看,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。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
E-R图是数据库设计的工具之一,它一般适用于建立数据库04-20
栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F04-20
(填空题)在Windows中,对话框窗口不能改变大小,但可以_____04-20
(填空题)在Word2000编辑状态下,双击状态栏“改写”方框后04-20
(简答题)应用软件按用户获取方式的不同,分为哪几类?04-20
(填空题)在Windows中,通过________可以恢复硬盘上被误删04-20
(填空题)在冯?诺依曼型计算机中,所有数据和指令都采用___04-20
(简答题)简述USB的优点。04-20
(填空题)在计算机内存用于存放当前执行的数据、结果和__04-20
磁盘属于( )。04-20