您的位置:首页 > 编程语言

用宏控制代码的一个注意事项

2012-09-01 11:31 399 查看
有时候会用宏对代码进行控制,基本方式如下:

#ifdef XXXX

<code1>

#else

<code2>

#endif

但有一点需要注意:#endif必须单独占一行,若是在其后面写代码,则后面的代码在预处理的时候也会被删掉。

例如下面的一段代码,在#endif同行还有一个if语句

#include <stdio.h>

int main()
{
int a, b;
#ifdef ABC
if (a = 0) {
#else
if (a == 1) {
#endif  if (b = 0) {
printf("123\n");
}
}

return 0;
}


但实际预处理后的结果是:

int main()
{
int a, b;

if (a == 1) {

printf("123\n");
}
}

return 0;
}


从上面可以看出,在#endif后面的if语句没有了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: