下面程序的运行结果是_______。 void swap(int*a,int*b) { int*t: t=a: a=b: b=t; } main( ) { int x=3,y=5,*p=8Lx,*q=8Ly; swap(p,q); p

admin2014-10-20  19

问题 下面程序的运行结果是_______。
void swap(int*a,int*b)
{
  int*t:
  t=a:
  a=b:
  b=t;
}
main(    )
{
int x=3,y=5,*p=8Lx,*q=8Ly;
swap(p,q);
printf(“%d%d\n”,*P,*q);
}

选项

答案3 5

解析 在main函数中,先将p指向x,q指向y,当发生函数调用时,p的值传递给a,使a=&x;q的值传递给b,使b=&y。在被调用函数中,通过变量t,使a、b的值发生交换:令a=&y,b=&x;改变了指向。调用结束后,返回到main函数时,a,b消失(形参随着调用的结束而失去作用)。结果,在main函数中,p和q的指向并未改变,故输出结果为:3 5。
转载请注明原文地址:https://jikaoti.com/ti/9P9fFFFM
0

最新回复(0)