C语言程序问题,程序有个错误,求助

宏#define命令练习,有个错误,小弟菜鸟,不懂,请指点,勿打击
#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) 和下面{}里的内容,你没发现{}没函数名哇?
你可以这样#define abcde exchange(a,b)
abcde
{int t;\
t=a;\
a=b;\
b=t;\

你指的宏定义,就是 #define 新名字 旧名字
这样,在你下面的程序里,编译器会自动把新名字换成就名字的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-05
#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 那行少了个 \

无语
第2个回答  2012-03-31
将两句
printf("x=%d; y=%d\n",x,y);
改为
printf("x=%d,y=%d\n",x,y);追问

还是不对,错误提示是:第3行和第8行
E:\C100\NO.47\NO.47.C(3) : error C2449: found '{' at file scope (missing function header?)
E:\C100\NO.47\NO.47.C(8) : error C2059: syntax error : '}'

追答

#include "stdio.h"
#define exchange(a,b) t=a,a=b,b=t
void main(void)
{
int x=10;
int y=20;
int t;
printf("x=%d, y=%d\n",x,y);
exchange(x,y);
printf("x=%d, y=%d\n",x,y);
}

第3个回答  2012-03-31
你这题没有定义函数表头
在这个前面定义函数{\
int t;\
t=a;\
a=b;\
b=t;\
}
第4个回答  2012-03-31
为什么第三行的大括号后要有个斜杠啊,还有main函数括号后面不是空的吗??感觉我们学的不一样~
第5个回答  2012-03-31
看看是不是全角半角问题
相似回答