问题
单项选择题
下列程序的运行结果是
#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.编译时出错
答案
参考答案:A
解析:【命题目的】函数传参的方式。
【解题要点】本题函数fun中形参是两个指针变量,函数fun只是将这两个指针的指向的地址交换了一下而并没有交换它们所指向的地址中的数据。虽然,主函数中声明的变量a,b是整型变量而函数fun中的形参是两个指针变量,这两个变量仅仅是两个参数,与主函数中的那两个变量含义是不同的。
【考点链接】采用指针或引用可将值交换。