定义一个带参数的宏swap(x,y),以实现两个整数之间的交换,并利用它将一维数组a和b进行交换。

如题所述

第1个回答  2010-12-15
#include<stdio.h>
#define swap(x,y) t=x;x=y;y=t
void main()
{
int a[10],b[10],i,t;
printf("请输入a,b\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
scanf("%d",&b[i]);
for(i=0;i<10;i++)
swap(a[i],b[i]);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%d",b[i]);
}本回答被提问者采纳
第2个回答  推荐于2017-09-11
#define swap(x,y) x+=y;y=x-y;x-=y;本回答被网友采纳
第3个回答  2010-12-13
这个比较简单吧....注意传输地址。本回答被网友采纳

定义一个带参数的宏swap(x,y),以实现两个整数之间的交换,并利用它将一...
define swap(x,y) t=x;x=y;y=t void main(){ int a[10],b[10],i,t;printf("请输入a,b\\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)scanf("%d",&b[i]);for(i=0;i<10;i++)swap(a[i],b[i]);for(i=0;i<10;i++)printf("%d",a[...

请定义一个带参数的宏,使两个参数的值互换。要求在主函数中输入两数作为...
SWAP(x,y);printf("%d %d\\n",x,y);}

定义带参数的宏"#define jh#a,b,t# t=a;a=b;b=t",使两个参数a、b
选择答案D,在宏定义当中,其中的参数不是变量,所以说不用定义参数的类型,所以说D选项是正确的。选项分析:A选项,宏定义只是在预处理的时候对相应的进行替换,即使我们不定义参数a、b也不会对我们的程序造成什么影响,因为使用的时候会替换成使用的变量的名字,B选项的错误与A选项的错误是一样的。C...

C语言求解:定义一个宏,交换两个参数
#define swap(a,b) ((a)=(a)+(b);(b)=(a)-(b);(a)=(a)-(b))这个巧妙使用两个变量不需要新变量就实现了互换注意:在宏定义时所有变量用()括起来 本回答由网友推荐 举报| 答案纠错 | 评论(1) 16 3 李凯_华电_ 采纳率:65% 擅长: C\/C++ 编程语言 数据库DB 其他回答 #define swap(a,b...

需要CMD命令,及使用语法(举输入列子)
xcopy [\/s] 连带子目录一起拷贝. 注意:若目标盘上不存在此子目录,而在目标 盘的结束符又不以"\\"为结束,则将提示:does destination specify a file name or directory name on the target [f=file,d=directory]?在目标盘上创建文件[按下]还是创建子目录[按下d] ?应选择d键 xcopy[\/v] 带...

c语言关于宏的问题,紧急,多谢!!!
顺手写个参数的宏替换把,为了对比,表示已经交换了,我把交换前和交换后都输出了,直观的可以看到交换了 代码如下:include <stdio.h> define myswap(x,y) temp=x;x=y;y=temp;int main(){ int x,y,temp;printf("Input two numbers:\\n");scanf("%d%d",&x,&y);printf("交换前:\\n");pr...

c语言宏定义函数如何调用?
直接调用即可。如下示例:include<stdio.h>#define sum(b,c){int d=0;d=b+c;printf("两者的和:%d\\n",d);}int main(){ int x=0,y=0; scanf("%d%d",&x,&y); sum (x,y); return 0;}使用宏函数或者宏函数时,注意如下几点:(1)宏函数的参数没有类型,预处理器...

DOS命令有哪些?
doskey dir=cls 则击入dir等同于cls一样. doskey\/macros 可显示所有的宏定义,可使用">"重定义到文件中,可缩写"\/M". doskey dir= 可撤消对dir 的宏定义. doskey p=dir$tdir*.exe\/p$tdir c:\\t$tdir c:\\t$* $t为命令的区分符,而$*为命令的结束符 doskey\/insert(overstrike)?在重新输入命令时,对...

DOS的常规命令是什么?DOS她有什么功能与操作系统有什么区别?
键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。 1,net user abcd 1234 \/add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。 2,net user abcd \/del,将用户名为abcd的用户删除。 3,net user abcd \/active:no,将用户名为abcd的用户禁用。 4,net user abcd \/active:...

我想学DOS命令,哪有关于这方面的资料?
定义di为宏命令,意思是执行dir\/w\/p fdisk 硬盘分区 〔建 议〕 只有硬盘被很利害的病毒感染时,或是一块新硬盘才需要分区,最好请懂行的人指导。硬盘都需经过低级格式化,分区,格式化三个步骤才可使用,成品电脑内的硬盘都已经做过这些加工了。 〔用 法〕 输入fdisk后按回车即可进入提示界面 emm386 扩展内存管理...

相似回答