求教一个和宏#if相关的问题
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MY_CONTENT "123hello123"
#define SEARCH(TARGET, CONTENT) \
({int ret = 0; do { \
if (strstr(CONTENT, TARGET)) \
ret = 1; \
else \
ret = 0; \
} while (0); ret;})
int main()
{
#if (SEARCH("hello", MY_CONTENT))
printf("I found hello\n");
#else
printf("I am so sad\n");
#endif
}上面是我写的C代码,我是希望通过这个宏函数SERACH来决定自己编译的代码。
但是用GCC编译时,提示下面的错误:
C/C++ code?
1
gg.c:18:32: error: token "{" is not valid in preprocessor expressions
不知道哪位高手能指点一下,分数不多,还请见谅。







