一道C语言题目,请高手帮个忙,急用!swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;}main(){ int a,b;int *pointer_1,*pointer_2;scanf("%d,%d",&a,&b);pointer_1=&a; pointer_2=&b;if(a

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 01:33:13
一道C语言题目,请高手帮个忙,急用!swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;}main(){ int a,b;int *pointer_1,*pointer_2;scanf(

一道C语言题目,请高手帮个忙,急用!swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;}main(){ int a,b;int *pointer_1,*pointer_2;scanf("%d,%d",&a,&b);pointer_1=&a; pointer_2=&b;if(a
一道C语言题目,请高手帮个忙,急用!
swap(int *p1,int *p2)
{ int p;
p=*p1;
*p1=*p2;
*p2=p;
}
main()
{ int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a; pointer_2=&b;
if(a

一道C语言题目,请高手帮个忙,急用!swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;}main(){ int a,b;int *pointer_1,*pointer_2;scanf("%d,%d",&a,&b);pointer_1=&a; pointer_2=&b;if(a
1 swap函数的两个参数是指针类型,不是普通的int类型.
注意函数定义中的*是说明参数是指针.
2 如果这样定义,函数调用无效.
你要知道函数会新开辟空间存储x,y,它们的变动不影响实际参数的值.
函数分为值传递和地址传递,本问题中必须用地址传递.(上面那个人回答完全不对)
从你的问题可以看出你对指针理解非常不好,需要认真把书学好,再做这个题目.

1。因为swap函数的变量是指针的地址,所以调用函数的时候应提供的是变量的地址,而不是指针所指单元的所存储的数。
2。这里完全可以不用指针,用swap(int x, int y)完全可以,估计是为了解释怎么用指针才这样做的。