问题
单项选择题
下列程序段的输出结果是( )。
void fun(int *x,int *y)
printf("%d%d",*x,*y);*x=3;*y=4;
main()
int x=2,y=1;
fun(&y,&x);
printf("%d%d",X,y);
A.1243
B.1212
C.1234
D.2112
答案
参考答案:A
解析: 本题主函数中首先定义了两个变量x和y,并初始化为2和1,然后将y和x的地址值,传入函数fun(),函数fun()中的形参x和y分别指向主函数中的变量y和x,所以fun()函数输出的值为1和2,fun()函数在结束之前把形参x所指内容赋为3,把形参y所指内容赋为4,所以返回主函数后,主函数中的x和y已被改写为4和3。故程序输出结果为1243。选项A正确。