#define PRINTF int a=10,b=23; char c='A'; PRINTF("%d,%d,%c",a,b,c);

这是面试的一道题,面试官问我这个宏是干嘛的?这样定义有啥用处?
是在#define PRINTF后就换行的,后面是内容比如就是在Main函数里写的

答:这个宏是用来向屏幕输出数据的。这样定义能是宏安全的做单一的工作。
如果#define PRINTF printf 这样定义就好啦
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-24
#include"stdio.h"
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{int a=5,b=2,c=3,d=3,t;
int tem=MAX(a+b,c+d);
t=tem*10;
printf("%d\n",t);
}
错误原因:
7>6 ? 7:6*10 结果为 7
你按我上面的修改就行了. 其实你 为什么要用宏,直接把宏变为函数也行的.
或者 你这样定义宏
#define MAX(x,y) ((x)>(y)?(x):(y) ) //只是加了括号"()"而已
这样也可以达到目的.
第2个回答  2011-09-23
难度太大了,没见过。
相似回答
大家正在搜