有以下程序: #include<stdio.h> void sub(double a,double *pb); int main( ) { double x,y; scanf("%1f%1f",&x,&y); sub(x,&y); printf("x=%f

admin2022-06-24  11

问题 有以下程序:
#include<stdio.h>
void sub(double a,double *pb);
int main( )
{
double x,y;
scanf("%1f%1f",&x,&y);
sub(x,&y);
printf("x=%fy=%f\n",x,y);
}
void sub(double a,double *pb)
{
a=a-*pb:
*pb=*pb-a;
}

选项 A、x=10.200000y=-3.200000
B、X=6.700000y=-13.700000
C、x=7.000000y=-3.500000
D、x=13.400000y=-7.000000

答案A

解析 sub( )函数接收两个参数:double类型变量a,double指针变量pb。首先将a与pb指向的变量值相减,结果存放a中,然后再将pb指向的变量值与a的新值相减,结果存放pb指向的内存空间。sub函数不会修改实参x的值,但会修改实参y的值。当输入10.23.5时,实参x的值为10.2,y的值为3.5,执行sub( )函数后,x的值不变,y的值变成-3.2,本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/nUkp777K
0

最新回复(0)