A-A+
有以下程序 include<stdio.h> yoidfun(int*a int*1)) {
问题详情
有以下程序 include<stdio.h> yoidfun(int*a,int*1)) {int*c; c=a;a=b;b=c; } main() {intx=3,y=5,*p=&x,**q=&y; fun(p,q);printfl%d,%d,,*p,*q); fun(&x,&y);printfl”%d,%dn”,*p,*q); } 程序运行后的输出结果是
A.3,5,5,3
B.3,5,3,5
C.5,3,3,5
D.5,3,5,3
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
本题考查函数的调用与指针。p和q分别为指向x和y的指针,函数fun()的两个形参均为指针型,土要功能为交换两个指针的指向,当调用结束以后,该操作不能返回主函数。而主函数中,fun(P,q)、fun(&x,&y)的实参均为x与y的地址,因此,两者结果相同,并且两者指针指针的值不能变化。