c语言用#define定义函数块问题

c语言用#define定义函数块问题
源程序如下,说是t=a;这一句不对,a的类型没有说明,请改正,谢谢。

#include "stdio.h"
#define exchange(a,b) { \ /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上"\"*/
int t;\
t=a;\
a=b;\
b=t;\
}
void main(void)
{
int x=10;
int y=20;
printf("x=%d; y=%d\n",x,y);
exchange(x,y);
printf("x=%d; y=%d\n",x,y);
}
把注释去掉告姿洞册启即可,没有其它错误:

//---------------------------------------------------------------------------

#include "stdio.h"
#define exchange(a,b) { int t;\
t=a;\
a=b;\
b=t;\袜枯
}
void main(void)
{
int x=10;
int y=20;
printf("x=%d; y=%d\n",x,y);
exchange(x,y);
printf("x=%d; y=%d\n",x,y);
}
//---------------------------------------------------------------------------
#define exchange(a,b) {a=a+b;b=a-b;a=a-b;}
66
← 上一篇: 下一篇: →