码迷,mamicode.com
首页 > 其他好文 > 详细

用swap 交换两个数

时间:2017-03-22 00:13:23      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:img   scan   运行   编程   技术分享   blog   导致   ima   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 交换两个数

标签:img   scan   运行   编程   技术分享   blog   导致   ima   swap   

原文地址:http://www.cnblogs.com/however/p/6597501.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!