问题 单项选择题

有以下程序: int*f(int*x,int*y) { if(*x<*y)return x; elsereturn y; } main() { int a=7,b=8,*P,*q,*r; P=&a; q=&b; r=f(p,q); print("% 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是一个返回值为指针的函数,其功能是比较两个数中的最小值,并返回最小值的存储单元地址。main函数中定义了指针变量p和q,p=&a,q=&b,即*p=7,*q=8,调用函数{后r=p,所以*r=7,printf函数的输出结果为 7,8,7。

单项选择题
问答题 计算题