一道C语言题目,请高手帮个忙,急用!swap(int *p1,int *p2){ int p;p=*

发布时间:2021-03-07 22:47:28

一道C语言题目,请高手帮个忙,急用!swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;}main(){ int a,b;int *pointer

网友回答

1 swap函数的两个参数是指针类型,不是普通的int类型.
注意函数定义中的*是说明参数是指针.
2 如果这样定义,函数调用无效.
你要知道函数会新开辟空间存储x,y,它们的变动不影响实际参数的值.
函数分为值传递和地址传递,本问题中必须用地址传递.(上面那个人回答完全不对)
从你的问题可以看出你对指针理解非常不好,需要认真把书学好,再做这个题目.
======以下答案可供参考======
供参考答案1:
1。因为swap函数的变量是指针的地址,所以调用函数的时候应提供的是变量的地址,而不是指针所指单元的所存储的数。
2。这里完全可以不用指针,用swap(int x, int y)完全可以,估计是为了解释怎么用指针才这样做的。
以上问题属网友观点,不代表本站立场,仅供参考!