C语言 42.下列程序的运行结果是( ) void fun(int *a,int *b) {int *k; �k=a;a=b;b=k; } main() {int a=3,
42.下列程序的运行结果是()voidfun(int*a,int*b){int*k;�k=a;a=b;b=k;}main(){inta=3,b=6,*x=&...
42.下列程序的运行结果是( )
void fun(int *a,int *b)
{int *k;
�k=a;a=b;b=k;
}
main()
{int a=3,b=6,*x=&a,*y=&b;
�fun(x,y);
�printf(〃%d %d〃,a,b);
}
A.6 3 B.3 6 C.编译出错 D.0 0
我要详细解答 展开
void fun(int *a,int *b)
{int *k;
�k=a;a=b;b=k;
}
main()
{int a=3,b=6,*x=&a,*y=&b;
�fun(x,y);
�printf(〃%d %d〃,a,b);
}
A.6 3 B.3 6 C.编译出错 D.0 0
我要详细解答 展开
6个回答
展开全部
很多答案虽然选对了,但是其实是错的,这里不仅a,b的值不变,指针也不变,换句话说就算printf("%d %d",*x,*y),答案也是一样的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B 3 6
fun里交换的只是x,y的指向,即将y指向了b,x指向了a,而a,b本身不会变。
fun里交换的只是x,y的指向,即将y指向了b,x指向了a,而a,b本身不会变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B
fun里边交换的只是x,y里保存的地址,即将x的地址指向了b,y的地址指向了a,实际上a,b并没有参与fun函数。
fun里边交换的只是x,y里保存的地址,即将x的地址指向了b,y的地址指向了a,实际上a,b并没有参与fun函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是A。首先运行main()主函数,执行到fun(x,y)函数时,调用viod fun()函数,赋值交换,改变a,b的值,printf()输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询