下列程序的运行结果是  #inClude<iostream.h>  roid fun(int *a,int * b)  { int * k;   k=a;a=b;b=k;}  void main( )  { int a=2004,b=9,* x=&a,*

admin2010-03-29  26

问题 下列程序的运行结果是  #inClude<iostream.h>  roid fun(int *a,int * b)  { int * k;   k=a;a=b;b=k;}  void main( )  { int a=2004,b=9,* x=&a,* y=&b;   fun(x,y);   cout < < a < <"  " < < b < < end1;}

选项 A、2004  9
B、9 2004
C、0  0
D、编译时出错

答案1

解析 本题函数fun中形参是两个指针变量,函数fun只是将这两个指针的指向的地址交换了一下而并没有交换它们所指向的地址中的数据。虽然,主函数中声明的变量a,b是整型变量而函数fun中的形参是两个指针变量,这两个变量仅仅是两个参数,与主函数中的那两个变量含义是不同的。注意:采用指针或引用可将值交换。
转载请注明原文地址:https://kaotiyun.com/show/knjp777K
0

最新回复(0)