void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { in

void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { int x=3,y=5,*p=&x,*q=&y; fun(p,q);...
void fun(int *a,int *b)
{
int *c;
c=a;a=b;b=c;
}
main()
{
int x=3,y=5,*p=&x,*q=&y;
fun(p,q); printf("%d,%d,",*p,*q);
fun(&x,&y); prin"%d,%dn",*p,*q);
}
两次调用明明传递的是地址,为什么不能交换x,y的值
NAUSICA2005 1年前 已收到1个回答 举报

永远都很难忘 春芽

共回答了13个问题采纳率:84.6% 举报

void fun_1(int **a,int **b)
{
int *c;
c=*a;*a=*b;*b=c;
}
void fun_2(int *a,int *b)
{
int c;
c=*a;*a=*b;*b=c;
}
调用
fun_1(&p,&q); printf("%d,%dn",*p,*q);
fun_2(&x,&y); printf("%d,%dn",x,y);

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.049 s. - webmaster@yulucn.com