关于宏定义的困惑#defineINITAIL(a)do{\int__i\for(__i0__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 { \
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 只作用一行, "\ " 是换行的意思;
