我是C新手。我想比較字符串,我使用'#DEFINE'和char buf [256]。 這是我的代碼。問題與字符串比較(strcmp)在C
#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編譯器告訴我systax錯誤 「../src/server.c:417:錯誤:預期表達式之前‘=’令牌」。但如果我更改爲「if(strcmp(buf,SRV_SHOWMENU)== 0)」,只需進行一次比較即可。
謝謝。
中的行2卸下'='跡象到5。 – 2010-08-30 14:35:54