c语言 编程 宏定义

2.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不... 2.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。

说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参

2天内要 谢了
展开
 我来答
鬼火狼烟
2006-05-17 · TA获得超过6333个赞
知道大有可为答主
回答量:2275
采纳率:50%
帮助的人:2751万
展开全部
#include <stdio.h>
#define SWAP(x,y) {x-=y,y+=x,x=y-x}

main()
{
int a=3,b=2;
printf("%d,%d\n"a,b);
SWAP(a,b);
printf("swap: %d ,%d \n",a,b);
}
dadalili
2006-05-17 · TA获得超过1845个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:0
展开全部
// zd_66.cpp : Defines the entry point for the console application.
//

#include <stdio.h>
#define SWAP(x,y) {temp=x;x=y;y=temp;}

int main(int argc, char* argv[])
{
int a,b;
int temp;
printf("input a b:\n");
scanf("%d,%d",&a,&b);
printf("before swap a=%d b=%d\n",a,b);
SWAP(a,b);
printf("after swap a=%d b=%d\n",a,b);
printf("Hello World!\n");
return 0;
}

运行结果:
input a b:
5,6
before swap a=5 b=6
after swap a=6 b=5
Hello World!
Press any key to continue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冥南咖果方险1d
2006-05-17
知道答主
回答量:33
采纳率:0%
帮助的人:25.2万
展开全部
#define SWAP(x,y) i=x,x=y,y=i
#include <stdio.h>
void main( )
{int x,y,i=0;
scanf("%d%d",&x,&y)
SWAP(x,y);
printf("x=%d,y=%d\n",x,y);
}
如果看不清楚,就把程序复制在一个文本文档里,那样就可以看清楚了
可以用的话就帮我加分吧^-^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2006-05-17 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
鬼火狼烟的思路最好,另外两位都用到了临时变量,需要另外定义,不方便。
另外,鬼火狼烟的程序有点小错误,我改了一下

#include <stdio.h>
#define SWAP(x,y) {x-=y;y+=x;x=y-x;}

main()
{
int a=3,b=2;
printf("%d,%d\n",a,b);
SWAP(a,b);
printf("swap: %d ,%d \n",a,b);
}

当然,也可以用
#define SWAP(x,y) {x^=y;y^=x;x^=y;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaolinhui
2006-05-17 · 超过26用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:0
展开全部
我觉得楼上这位大侠的程序还有一点小问题,那就是宏定义错误。
#include <stdio.h>
#define SWAP(x,y) exchange(int x,int y){x-=y,y+=x,x=y-x}

main()
{
int a=3,b=2;
printf("%d,%d\n"a,b);
SWAP(a,b);
printf("swap: %d ,%d \n",a,b); }
这样,程序编译时才不会出错。#define SWAP(x,y) exchange(int x,int y){x-=y,y+=x,x=y-x} 这条语句的意思相当于将SWAP(x,y)作为函数exchange(int x,int y)的别名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式