C中字符串比较(strcmp)的问题

Ato*_*Hic 1 c string strcmp

我是C的新手.我想比较使用'#DEFINE'和char buf [256]的字符串.这是我的代码.

#define SRV_SHOWMENU "SRV_SHOWMENU"
#define SRV_LOGIN_TRUE = "SRV_LOGIN_SUC"
#define SRV_LOGIN_FAIL = "SRV_LOGIN_FAIL"
#define SRV_REGISTER_OK = "SRV_REGISTER_SUC"
#define SRV_REGISTER_FAIL = "SRV_REGISTER_FAIL"
char buf[256];      // buffer for client data
...
...
...
...
...
...
if(strcmp(buf,SRV_SHOWMENU) == 0 || strcmp(buf,SRV_REGISTER_FAIL) == 0)
{

}
Run Code Online (Sandbox Code Playgroud)

我的C编译器告诉我systax错误"../src/server.c:417:错误:'='令牌之前的预期表达式".但如果我改为"if(strcmp(buf,SRV_SHOWMENU)== 0)",只需一个比较即可.

谢谢.

tas*_*oor 6

在#define之后你不需要使用'='符号.你可以在这里阅读更多.