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

 时间:2026-02-14 18:34:54

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函数的源代码:

int swap(int *a,int *b)

{

int temp;

temp=*a;

*a=*b;

*b=temp;

}

注意这里定义的是指针变量

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

6、源代码如下:

#include<stdio.h>

main()

{   

    int swap(int *a,int *b);

int a=1,b=0,*p1,*p2;

p1=&a;

p2=&b;

swap(p1,p2);

printf("%d,%d",a,b);

}

int swap(int *a,int *b)

{

int temp;

temp=*a;

*a=*b;

*b=temp;

}

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

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

  • PS如何使用画笔中的对称选项
  • 文字边缘发光黄光出现效果怎样设计
  • ps怎么调出粉色系色调
  • 奶糖怎么填写邀请码
  • 如何给文字添加光泽效果
  • 热门搜索
    连云港 旅游 青岛旅游政务网官网 上海旅游点 山东省旅游景点 美国西海岸旅游攻略 到云南旅游 兵马俑旅游攻略 重庆有哪些旅游景点 上海锦江国际旅游股份有限公司 河南旅游网