关于宏定义的困惑
#define INITAIL(a) do { \
int __i; \
for( __i=0;__i <16;__i++){ \
a[__i]=0x00; \
} \
}while(0)
这个定义能通过但是少做改动就不行
#define INITAIL(a) do { \
int __i; \
for( __i=0;__i <16;__i++)
a[__i]=0x00; \
}while(0)
#define INITAIL(a) do { \
for( int __i=0;__i <16;__i++){ \
a[__i]=0x00; \
} \
}while(0)
这2个都不能通过编译,为什么啊
[解决办法]
任何一行都必须以\结束,不可以有纯空行
[解决办法]
#define 只作用一行, "\ " 是换行的意思;