求C程序:定义一个带参数的宏,使两个参数的值互换,输入两个数做为使用宏时的实参。

 我来答
hylong102122
2013-01-29 · TA获得超过201个赞
知道答主
回答量:31
采纳率:0%
帮助的人:18.7万
展开全部
#define swap(a,b) {(a)=(a)+(b);(b)=(a)-(b);(a)=(a)-(b);}
不妨一试!!!
数据比较大时 可能会溢出 注意!!!
carloshs
2006-11-10 · TA获得超过287个赞
知道小有建树答主
回答量:634
采纳率:0%
帮助的人:562万
展开全部
#define huan(a,b) {double c;c=a;a=b;b=c;}
谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吨半
2006-11-10 · TA获得超过360个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:63.3万
展开全部
#define swap(a,b) t=a;a=b;b=t;
main(){
int t,a=10,b=20;
swap(a,b);
printf("a=%d,b=%d",a,b);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
strayers
2006-11-13 · 超过32用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
#include<isotream.h>
define swap(x,y) {(t)=(x);(x)=(y);(y)=(t);}
main()
{

float a,b,t;
a=1.2;
b=2.3;
swap(a,b);
printf("a=%d,b=%d\n",a,b);

getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xniren
推荐于2018-03-13 · TA获得超过1154个赞
知道小有建树答主
回答量:554
采纳率:100%
帮助的人:520万
展开全部
在C语言中,定义两个参数的宏完成参数交换,那么
1、如果参数为指定为整型量,如int、long、short、char,可以这样定义:
#define swap(a,b) {(a)=(a)^(b);(b)=(a)^(b);(a)=(a)^(b);}
这个方法,可以不用借用第三个参数。
2、如果参数不是整型量,如float、double等,那么可以借助外部第三个参数,这样定义:
#define swap(a,b) {(t)=(a);(a)=(b);(b)=(t);}
在实际使用中,t的类型需要与a,b相同,如:
float a,b,t;
a=1.2;
b=2.3;
swap(a,b)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式