c语言指针实现两个数交换(c语言用指针交换两个数的值)

本文目录
c语言用指针交换两个数的值
假设pa原本指向内存单元a,
pb原本指向内存单元b,
自然而然,交换之后pa指向内存单元b,
pb指向内存单元a,
那么pa对应的值就变成了b原来的值,
pb对应的值也就变成了a原来的值,
C语言用指针交换两个数
主函数里指针p指向变量a的地址,q指向变量b的地址,
*p=a,*q=b,这应该没问题吧。
change函数的形参分别是取a的地址和b的地址,
然后用第三个变量t来实现值交换。
再打印就是互换后的值。
在C语言中如何将两个数进行互换
将两个数进行互换的方法有两种形式:
1、借助中间变量完成,此方法直观,易理解,使用最多
2、不需要中间变量,通过变量身的运算完成交换。
参考代码:
方法1:
int a=2,b=3,t;
t=a; //先将a存储到临时变量t中
a=b; //将b存储到a中
b=t; //将临时变量中的原a值存储到b中
printf("a=%d b=%d\n", a,b );
方法2:
int a=2,b=3,t;
a += b ; //把两数之和存到a中
b= a-b ; //用两数和减去b可得原a,存储到b中
a= a-b ; //因为b现在是原a值,所以,用两数和减去b(原a)可得 原b,存储到a中
此方法,还可以用异或运算来实现,原理相同。
c语言 编一程序 交换两个变量的值(用指针做函数参数)
#include 《stdio.h》
void Swap(int a,int b)
{
int tmp = a;
a = b;
b = tmp;
printf("a=%d,b=%d\n",a,b);
}
int main()
{
int a = 5;
int b = 10;
printf("a=%d,b=%d\n",a,b);
Swap(a,b);
printf("a=%d,b=%d\n",a,b);
return 0;
}
扩展资料:
形参和实参的特点
1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。
2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。
3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。
4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。
参考资料:
百度百科-形参

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




