void
目前成都创新互联已为上1000家的企业提供了网站建设、域名、网页空间、网站改版维护、企业网站设计、筠连网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
swap(int
*a,int*
b)
{
int
temp=0;
temp=*a;
*a=*b;
*b=temp;
}
因为是指针,只要更换指针内的内容就可以了;
还有一种是
换指针,就设a指向没存A,b指向内存B,交换后把b指向内存A,把a指向内存B
void
swap(int
*a,int*
b)
{
int
*temp;
temp=a;
a=b;
b=temp;
}
1、 首先,就是最基本的知识,写头文件,函数声明,定义变量。
2、下面还需要定义指针,需要定义两个指针p1和p2,然后把a的地址赋值给p1,把b的地址赋值给p2。
3、然后就是调用函数,该函数没有返回值,就直接调用,但是参数进入的是a和b的地址,而不是a和b。
4、 函数用完之后,就是输出a和b的值看一看是否进行了互换。
5、a和b的地址传给x和y,我们通过指针直接对a和b的值进行操作。
6、 最后就是调换*x和*y的值,这样就是实现了a和b的值。
方法一:三变量交换。
#includestdio.h
int main(void)
{
int a,b;
scanf("%d%d",a,b);
int t=a;a=b;b=t;
printf("%d %d\n",a,b);
return 0;
}
方法二:加减交换
#includestdio.h
int main(void)
{
int a,b;
scanf("%d%d",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("%d %d\n",a,b);
return 0;
}
方法三:异或交换
#includestdio.h
int main(void)
{
int a,b;
scanf("%d%d",a,b);
a=a^b;b=b^a;a=a^b;//可写成a^=b^=a^=b;
printf("%d %d\n",a,b);
return 0;
}
方法四(黑盒测试下):不交换
#includestdio.h
int main(void)
{
int a,b;
scanf("%d%d",a,b);
printf("%d %d\n",b,a);
return 0;
}