单选题
下列程序段的输出结果是( )。
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
B
C
D
【正确答案】
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正确。
提交答案
关闭