首页 > 代码库 > 用swap 交换两个数

用swap 交换两个数

#include<stdio.h>
main()
{
 void swap(int *p1,int *p2);//定义swap函数,用于交换。
 int *p,*q;
 int a,b; //定义两个指针变量和两个数a和b
 printf("请输入两个数:");
 scanf("%d,%d",&a,&b);//输入两个数
 p=&a;
 q=&b;//将p和q分别指向a和b的地址
 swap(p,q);//调用swap函数对p和q执行交换
 
 printf("\n经过交换为:%d,%d",a,b);//输出交换后a和b的值
}

 void swap(int *p1,int *p2)//定义函数内容
 {
 
 int temp;
 temp=*p1;
    *p1=*p2;
 *p2=temp;//用变量temp实现p1与p2的交换

技术分享

总结:1 编程后想调用函数应用指针*temp来交换p1与p2的,后来运行结束后发现没有交换,后来用将 *temp赋给其他变量才得以交换,不过复杂了很多,多此一举,所以用变量temp最为合适。

2 运行是逗号没有发现是中文的,导致久久没有发现问题,所以一定细心编程,及时修改错误。

3 通过调用函数来实现指针间的交换地址,进而实现交换两个数,所以修改数可以直接通过指针直接来对数的修改,比正常运用函数来修改数更为便利。

 

用swap 交换两个数