运用函数交换两个整型变量

简介: 运用函数交换两个整型变量
void Swap(int x, int y)
{
  int tmp = 0;
  tmp = x;
  x = y;
  y = tmp;  
}
……
Swap(a,b)

image.png


我们发现a和b并没有交换,因为x和a,y和b的地址不相同,所以x,y交换

a和b并不会改变  

我们要使用指针变量


#include <stdio.h>
void Swap(int* pa, int* pb)
{
  int tmp = 0;
  tmp = *pa;
  *pa = *pb;
  *pb = tmp;
}
int main()
{
  int a = 10;
  int b = 20;
  printf("a=%d b=%d\n", a, b);
  Swap(&a, &b);
  printf("a=%d b=%d\n", a, b);
  return 0;
}

image.png

相关文章
|
5月前
|
人工智能
魔法指针 之 指针变量的意义 指针运算
魔法指针 之 指针变量的意义 指针运算
36 0
|
10月前
|
C语言
【C指针】深入理解指针(最终篇)数组&&指针&&指针运算题解析(一)1
【C指针】深入理解指针(最终篇)数组&&指针&&指针运算题解析(一)
214 51
|
10月前
|
存储 算法 C++
函数的指针:理解与应用
函数的指针:理解与应用
59 1
|
10月前
|
存储 C++
C++程序中的函数与指针
C++程序中的函数与指针
35 1
|
10月前
|
编译器
【C指针】深入理解指针(最终篇)数组&&指针&&指针运算题解析(一)3
【C指针】深入理解指针(最终篇)数组&&指针&&指针运算题解析(一)
|
10月前
|
编译器
【C指针】深入理解指针(最终篇)数组&&指针&&指针运算题解析(一)2
【C指针】深入理解指针(最终篇)数组&&指针&&指针运算题解析(一)
|
10月前
|
存储 C语言 C++
什么是函数的指针
什么是函数的指针
43 0
|
10月前
|
存储 C语言 索引
C语言数组与指针的关系,使用指针访问数组元素方法
如果您阅读过上一章节“C语言数组返回值”中的内容,那么您是否会产生一个疑问,C语言的函数要返回一个数组,为什么要将函数的返回值类型指定为指针的类型?换句话说,C语言中数组和指针到底是什么关系呢?我们可以通过C语言的寻址符“&”来返回数组变量存储在内存中地址和数组变量第一个元素存储在内存中的地址,
79 2
|
编译器 C语言
C语言指针的定义,使用,指针和指针之间的基本和关系运算,指针与数组的结合使用,二级指针及多级指针的定义和使用,指针数组和数组指针的定义和使用
C语言指针的定义,使用,指针和指针之间的基本和关系运算,指针与数组的结合使用,二级指针及多级指针的定义和使用,指针数组和数组指针的定义和使用
100 0
|
编译器
23位与64位区别/指针类型作用/野指针/指针运算/二级指针
23位与64位区别/指针类型作用/野指针/指针运算/二级指针
209 0
23位与64位区别/指针类型作用/野指针/指针运算/二级指针