下列程序段的输出结果是:( ). void fun( int *x, int *y) { printf("%d %d",*x,*y);*x=3;*y=4;} main( ) {

为什么会有21输出?下列程序段的输出结果是:().voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3;*y=4;}main(){... 为什么会有2 1输出?
下列程序段的输出结果是:( ).
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);
}
A、2 1 1 2
B、1 2 3 4
C、2 1 4 3
D、1 2 1 2
展开
 我来答
青檬护肤_
2012-06-06 · TA获得超过1844个赞
知道小有建树答主
回答量:455
采纳率:50%
帮助的人:88.8万
展开全部
选C啦
fun(&y, &x);把y的地址传递给x,把x的地址传递给y,即运行到printf("%d %d",*x,*y);时x=2,y=1;
然后*x=3;*y=4;给x,y赋值,但是x,y在网下传时,想,y的值是交换了的(即fun(&y, &x);把y的地址传递给x,把x的地址传递给y),所以运行到x=3;*y=4;时其实主函数中的x=4,y=3的,所以,printf("%d %d", x, y);执行的结果是x=4,y=3,所以选B
广东糖
2012-06-06 · 贡献了超过129个回答
知道答主
回答量:129
采纳率:0%
帮助的人:38.2万
展开全部
你还没补充题目呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王者SoEasy
2012-06-06
知道答主
回答量:30
采纳率:0%
帮助的人:23.8万
展开全部
后面的题目呢?
追问
下列程序段的输出结果是:( ).
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);
}
A、2 1 1 2
B、1 2 3 4
C、2 1 4 3
D、1 2 1 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式