问题
单项选择题
下列程序的输出结果是( )。
#include<stdio.h>
void fun(int*a,int*b)
int *k;
k=a;a=b;b=k;
main()
int a=1,b=2,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
A.2 1
B.1 2
C.编译出错
D.0 0
答案
参考答案:B
解析: 本题考查函数凋用时的参数传递。分析题目可知fun函数的形参是指向实参的指针,但main()函数中调用fun()函数时,实参是指引变量x、y(分别为指向a和b的指针)。a、b的值在函数调用前后未发生变化,因而a=1,b=2,即输出12。