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

admin2019-06-07  27

问题 有下列程序:
#include  
void fun(int*a.int*b)
{  int*c;
  c=a;a=b;b=c;
}
void 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

解析 本题子函数fun(int*a,*b)的功能是交换形参a,b的值。主函数中调用子函数fun(p,q)和fun(&x,&y)后,实参p,q和&x,&y的值之间并没有发生交换,所以程序输出的结果为3,5,3,5。
转载请注明原文地址:https://jikaoti.com/ti/fOA0FFFM
0

随机试题
最新回复(0)