有以下程序 #include<stdio.h> void fun(int*a,int*b) {int*c; c=a:a=b;b=c;} main() {int x=3,y=5,*p=&x,*q=&y; fun(p,q);printf("%d,%d,",*p

admin2018-11-21  26

问题 有以下程序
#include<stdio.h>
void fun(int*a,int*b)
{int*c;
c=a:a=b;b=c;}
main()
{int x=3,y=5,*p=&x,*q=&y;
fun(p,q);printf("%d,%d,",*p,*q);
fun(&x,&y);printf("%d,%d\n",*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,&y1)的实参均为x与y的地址,因此,两者结果相同,并且两者指针指向的值不能变化。
转载请注明原文地址:https://kaotiyun.com/show/ZSxp777K
0

最新回复(0)