c语言怎样用宏实现两数的交换
推荐于2018-04-14
展开全部
第一种方法,用位运算
#define swap(a,b) {a^=b;b^=a;a^=b;}
第二种方法,用加减
#define swap(a,b) {a+=b; b=a-b; a=a-b;}
#define swap(a,b) {a^=b;b^=a;a^=b;}
第二种方法,用加减
#define swap(a,b) {a+=b; b=a-b; a=a-b;}
2013-06-30
展开全部
可以利用加减来实现这个功能:#define swap((a),(b)) {(a)+=(b); (b)=(a)-(b); (a)=(a)-(b);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-30
展开全部
实现不了、因为必须有个中间变量,除非你定义一个函数,再用宏定义这个函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-30
展开全部
为安全,最好都加上括号#define swap((a),(b)) {(a)+=(b); (b)=(a)-(b); (a)=(a)-(b);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询