如何使用指针交换两个int型变量

 时间:2024-11-07 18:34:31

两个int变量交换的简单方法是定义第三个变量c,用(c=a;a=b;b=c诋危族枧;)去交换。用指针去交换变量一般是交换地址法,这里使用swap函数去交换指针。(这里的swap函数是自己定义的)

如何使用指针交换两个int型变量

工具/原料

电脑

c语言工具程序(Dev等)

方法/步骤

1、由于指针的特殊性,定义第三个指针来交换指针不是很方便。所以我们直接来用swap函数来交换指针。

如何使用指针交换两个int型变量

2、先去定义两个变量a=1,b=0。然后定义两个指针*p1,*p2,分别代表a,b的地址。但是新手经常讲程序写成如图,这样是错误的。

如何使用指针交换两个int型变量

3、出错是因为在a=*p2张虢咆噘时,已经将a的值变为b了。b=*p1时(*p1=&a),其实是将已经变为b的a赋给了b,所以b还是原来的数值。这里导致b无法交换为a。

如何使用指针交换两个int型变量

4、所以当必须使用指针来交换时,我们不妨去交换指针。也就是使用swap函数去交换*p1,*p2。这样不会出现上面的问题。

如何使用指针交换两个int型变量

5、下面是swap函数的源代码:intswap(int*a,int*b){inttemp;temp=*a;*a=*b;*b=temp;}注意这里定义的是指针变量

如何使用指针交换两个int型变量

6、源代码如下:#include<stdio.h>main猾诮沓靥(){intswap(int*a,int*b); inta=1,b=0,*p1,*p2; p1=&锾攒揉敫amp;a; p2=&b; swap(p1,p2); printf("%d,%d",a,b);}intswap(int*a,int*b){ inttemp; temp=*a; *a=*b; *b=temp;}

如何使用指针交换两个int型变量

如何使用指针交换两个int型变量

PS如何使用画笔中的对称选项 文字边缘发光黄光出现效果怎样设计 ps怎么调出粉色系色调 奶糖怎么填写邀请码 如何给文字添加光泽效果
热门搜索
途观报价及图片 食品安全宣传图片 历史小报图片 情侣拥抱图片 青蛙简笔画图片