#define MY_PRINT(i) \
do{\
printf("%d\n",i);\
}while(0)
int main()
{
int i=9;
MY_PRINT(i);
return 0;
}
把宏里面的空格全部取消掉就可以了,第三行的\后面暗藏一个空格....
----------------解决方案--------------------------------------------------------
所以说了, 不到万不得已, 我是不用宏的...inline一般足够用了....不够时再用宏...
----------------解决方案--------------------------------------------------------
回复 23# 界水乘风 的帖子
晕死了~``我郁闷一天了,LZ真是的好好的加个空格做什么。把我搞晕了 ----------------解决方案--------------------------------------------------------
宏最会出错了
----------------解决方案--------------------------------------------------------