请帮我分析一下结果,我个人想出来的结果与运行结果相反

#include<stdio.h>
void  fun( int *a, int *b)
{
int *k;
k=a; a= b; b=k;
}
void main()
{
int a=2004, b=9, *x=&a, *y=&b;
fun(x,y);
printf("%d,%d", a, b);
}


小画冰
浏览 1015回答 1
1回答

亹v亹

fun函数中只改变了*a*b的地址,并没有改变所指向的内容应该这样写:*k=*a; *a= *b; *b=*k;
打开App,查看更多内容
随时随地看视频慕课网APP