A-A+

有以下程序 int *f(znt *x int *y) { if(*x<*y) return

2022-08-06 04:57:33 问答库 阅读 176 次

问题详情

有以下程序 int *f(znt *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.%dn",*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和小并让它们指向了变量a和b,调用函数f(),返回指向的变量值较小的指针变量,r的值为指针变量p的值(变量a的地址),因此最后输出的*p、*q和,r的值是7,8和7。所以,B选项为所选。

考点:程序