void fun(int *x,int *y) {printf("%d%d", *x=3,*y=4;}

voidfun(int*x,int*y){printf("%d%d",*x=3,*y=4;}main(){intx=1,y=2;fun(&y,&x);printf("%d... void fun(int *x,int *y)
{
printf("%d%d", *x=3,*y=4;
}
main()
{int x=1,y=2;
fun(&y,&x);
printf("%d%d",x,y)
}

求输出结果
A: 2 1 4 3 B:1 2 1 2 C:1 2 3 4 D:2 1 1 2

求解释得清楚一点 谢谢拉
展开
 我来答
zt_yes
推荐于2017-09-18 · TA获得超过544个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:58.4万
展开全部
考查的是参数传递,及指针应用。
fun(&y,&x); 参数为地址传送,void fun(int *x,int *y)接收的是(x=&y,y=&x) 输出是y x也就是2 1
将地址赋的值更改为*x=3,*y=4;相当于主函数的y=3,x=4.
返回主函数输出的是4 3
故最后输出结假果:2143 答案是A
百度网友d60111859
2011-12-11 · TA获得超过669个赞
知道答主
回答量:75
采纳率:50%
帮助的人:48.6万
展开全部
选C
首先fun函数里面的printf输出 为1 2
然后经过 *x=3,*y=4 后,x的值变为3,y的值变为4
在main函数里面的printf输出 为3 4
所以结果为1 2 3 4
其实这题目的考点就是fun(int &x, int &y) 传过去以后,实际上在fun()函数里面操作的x,y就是 x,y本身,所以fun()函数运行完以后,x,y的值随之也变了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华师house
2015-11-11 · TA获得超过8857个赞
知道大有可为答主
回答量:1.1万
采纳率:94%
帮助的人:2121万
展开全部
v考查的是参数传递,及指针应用。
fun(&y,&x); 参数为地址传送,void fun(int *x,int *y)接收的是(x=&y,y=&x) 输出是y x也就是2 1
将地址赋的值更改为*x=3,*y=4;相当于主函数的y=3,x=4.
返回主函数输出的是4 3
故最后输出结假果:2143 答案是A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qmy777
2011-12-13 · 超过11用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:29.5万
展开全部

这就是编译的结果:2143

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a72739b
2011-12-11 · TA获得超过146个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:175万
展开全部
结果3 4 4 3
先调用fun函数将y,x传入,改变y,x的值为3,4
首先打印fun里面的printf语句,输出3,4
最后打印main里面的printf语句,因为x,y的值已在传入是改变了,所以对应输出4,3
追问
void fun(int *x,int *y)
{
printf("%d%d", *x,*y);
*x=3,*y=4;
}
main()
{int x=1,y=2;
fun(&y,&x);
printf("%d%d",x,y)
}

题目抄错- - 不好意思
追答
结果2  1   4   3
解释上面一样的
只不过先打印2 1
在改变x y 的值而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式