【发布时间】:2010-08-30 14:34:53
【问题描述】:
我是 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)
{
}
我的 C 编译器告诉我系统税错误“../src/server.c:417: error: expected expression before ‘=’ token”。但如果我改为“if(strcmp(buf,SRV_SHOWMENU) == 0)”,只需比较一次即可。
谢谢。
【问题讨论】:
-
删除第 2 到 5 行中的
=符号。