问题 单项选择题

下列程序段的输出结果是( )。
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正确。

单项选择题
问答题 简答题