当前位置:网站首页>C语言通过指针交换两个数

C语言通过指针交换两个数

2022-07-06 09:43:00 芣苢的成长之路

#include<stdio.h>
void swap1(int *p1,int *p2){
    
	//p1,p2分别对应a,b的地址,*p1和*p2分别对应a和b的值 
	int p;//p是一个变量 
	p = *p1;
	*p1 = *p2;
	*p2 = p;
	//通过地址进行值的交换操作,实际交换的是a,b的值 
}
void swap2(int *p1,int *p2){
    
	//p1,p2分别对应c,d的地址,*p1和*p2分别对应c和d的值 
	//这一步的操作是把p1 p2这两个地址当做形参进行操作 
	int *p;//p是一个指针 
	p = p1;
	p1 = p2;
	p2 = p;
	//这个是形参交换,和原本的c d没有关系
}

int main() {
    
	int a = 5,b = 10;
	printf("原a b:%d %d\n",a,b);
	swap1(&a,&b);	
	printf("swap1后a b:%d %d\n",a,b);
	int c = 6,d = 8;
	printf("原c d:%d %d\n",c,d);
	swap2(&c,&b);
	printf("swap2后c d:%d %d\n",c,d);
	return 0;
}

运行结果

原网站

版权声明
本文为[芣苢的成长之路]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_51231048/article/details/125517235