c语言 编程 宏定义
2.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不...
2.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参
2天内要 谢了 展开
说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参
2天内要 谢了 展开
5个回答
展开全部
// 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
//
#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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
如果看不清楚,就把程序复制在一个文本文档里,那样就可以看清楚了
可以用的话就帮我加分吧^-^
#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);
}
如果看不清楚,就把程序复制在一个文本文档里,那样就可以看清楚了
可以用的话就帮我加分吧^-^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
鬼火狼烟的思路最好,另外两位都用到了临时变量,需要另外定义,不方便。
另外,鬼火狼烟的程序有点小错误,我改了一下
#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;}
另外,鬼火狼烟的程序有点小错误,我改了一下
#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;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得楼上这位大侠的程序还有一点小问题,那就是宏定义错误。
#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)的别名。
#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)的别名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询