C语言练习(6)——在不引用其他变量时交换两个值

上次有一个非常牛掰的师兄考我一个问题:
如何在不引用其他变量的情况下,去交换两个值?
刚开始我有点蒙圈:一般我的做法是引入一个变量,直接交换即可:

#include   <stdio.h>
int main()

{
	int i=4,j=7;
	int x;           //引用变量X
	x=i;
	i=j;
	j=x;
	printf(" i=%d \n j=%d",i,j);
	getch();//窗口保留函数,调试使用
	return 0;
}

如果要用两个值去交换,那么肯定就要引入运算了。胡乱算一下,哎还真算出来了。
其实也非常简单,也是三条语句:i=i+j; j=i-j; i=i-j;

#include   <stdio.h>
int main()

{
	int i=4,j=7;
	i=i+j;//i=11,     j=7
	j=i-j;//i=11,     j=11-7=4;
	i=i-j;//i=11-4=7, j=4
	printf(" i=%d \n j=%d",i,j);
	getch();//窗口保留函数,调试使用
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值