C语言中,怎样不用中间变量而互换两个变量的值呢?
12个回答
展开全部
可以啊。
一:
int a,b;
a=10;
b=1;
a=a^b;
b=a^b;
a=a^b;
结果:a=1;b=10;
^是异或运算;
二;
int a=10,b=20;
a=a+b;
b=a-b;
a=a-b;
结果:a=20;b=10;
一:
int a,b;
a=10;
b=1;
a=a^b;
b=a^b;
a=a^b;
结果:a=1;b=10;
^是异或运算;
二;
int a=10,b=20;
a=a+b;
b=a-b;
a=a-b;
结果:a=20;b=10;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像这样不行,使用中间变量来互换两个变量值是大部分编程语言的算法,这个算法不仅在C语言中可以这样运用,在JAVA语言中也中也是这么用的(JAVA是比较高级的语言),不过真想这么做,你可以自定义一个函数,不用中间变量就可以交换。但是自定义函数中还是用到第三变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用指针就可以,交换两个变量的地址,然后输出就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
互换两个变量的值函数swap(),其实是用中间变量实现的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-28
展开全部
#include <stdio.h>
void main()
{
int a=1,b=2;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d b=%d\n",a,b);
}
void main()
{
int a=1,b=2;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d b=%d\n",a,b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询