...swap(int *p1,int *p2) {int *p; p=p1; p1=p2; p2=p; }

发布网友 发布时间:2024-12-12 17:54

我来回答

3个回答

热心网友 时间:1分钟前

注意内容和地址,形参和实参的区别。看注释
swap(int *p1,int *p2)
{
int *p;
/*下面这段只是把形参p1,p2本身的值对换,函数返回后,对原变量无影响*/
p=p1;
p1=p2;
p2=p;
/*事实上,应该是把p1、p2指向的地址中的内容对换,改成代码如下*/
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}

热心网友 时间:2分钟前

没有头文件
函数没有声明
scanf("%d,%d",&a,&b);应该没有逗号
加上return 0;否则程序会一闪而过。
小白,勿喷

热心网友 时间:1分钟前

这样做只是交换了 指针的地址,却没有交换 a ,b 的值。
修改方法:
void swap(int *p1,int *p2)
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2.022101s