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

admin2010-01-10  34

问题 下面程序的运行结果是【  】。
   void  swap(int  *a,int  *b)
   {  int  *t;
   t=a;a=b;b=t;
   }
   main()
   {  int  x==3,y=5,*p=&x,*q=&y;
   swap(p,q);
   printf("%d%d\n",*p,*q);
   }

选项

答案35

解析 主函数中通过定义和赋初值使p和q分别指向了x和y,执行函数调用swap(p,q),把p和q中的地址值传给了形参指针变量a和b,此时a和b分别指向了主函数中的变量x和y。在函数swap()中交换了指针变量a和b的值,但并没有改变a和b所指向的内容,所以函数调用返回后x和y依旧是原来的值。故运行结果为35。
转载请注明原文地址:https://jikaoti.com/ti/S6I0FFFM
0

最新回复(0)