问题 单项选择题

有以下程序:int *flint *x, int *y){ if(*x<*y) return x; else return y;}main(){ int a=7,b=8,*p,*q,*r; p=&a; q=&b; r=f(p, q); printf("%d, %d, %d\n",*p,*q,*r);}执行后输出结果是( )。

A.7,8,8

B.7,8,7

C.8,7,7

D.8,7,8

答案

参考答案:B

解析: 本题定义了一个返回值为指针的函数f(),此函数有两个指针型的形参x和y,该函数的功能,是返回x和y指向的变量中值较小的那个指针变量。主函数中定义了两个指针变量p和q,并让它们指向了变量a和b,调用函数f(),返回指向的变量值较小的指针变量,r的值为指针变量p的值(变量a的地址),因此最后输出的*p、*q和*r的值是7,8和7。所以,B选项为所选。

单项选择题 A3/A4型题
单项选择题