#尝试编写用指针作为参数的程序完成变量a与变量b中数据的交换##C语言

11 篇文章 0 订阅

尝试编写用指针作为参数的程序完成变量a与变量b中数据的交换
要求:
(1)数据的交换由函数来完成
(2)用指针作为函数参数
程序:

#include<stdio.h>
int trans(int *a,int *b);
void main()
{
	int *a1,*b1;
	int a,b;

	a=1;b=2;
	a1=&a;b1=&b;
	printf("未换时a=%d,b=%d\n",a,b);
	trans(a1,b1);
	printf("在trans函数中交换后的main中a=%d,b=%d\n",a,b);

}
int trans(int *a,int *b)
{
	int t;
	t=*a;*a=*b;*b=t;
	printf("trans函数中*a=%d,*b=%d\n",*a,*b);

	return 0;
}

运行结果:

未换时a=1,b=2
trans函数中*a=2,*b=1
在trans函数中交换后的main中a=2,b=1
Press any key to continue

和用a和b作为实参不同,以指针做实参,传递之后在自定义函数中直接更改a与b所在地址的值,也就是说,影响到了主函数的数据
希望大佬指出错误⸜₍๑•⌔•๑ ₎⸝

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值