0

我有以下代码可以正常工作。

if((strcmppgm2ram((char*)name, (ROM char*)"products.htm") != 0))
{
    if((strcmppgm2ram((char*)name, (ROM char*)"restock.htm") != 0))
    {
        return HTTP_IO_DONE;
    }
}

我想清理它并把它放在表格中:

if((strcmppgm2ram((char*)name, (ROM char*)"products.htm") != 0) || (strcmppgm2ram((char*)name, (ROM char*)"restock.htm") !=0))
{   
        return HTTP_IO_DONE;    
}

不幸的是,后者无法正常工作。我忽略了什么??提前致谢!PS strcmp == strcmppgm2ram 为了这个问题。

4

2 回答 2

6

||在应该使用的时候使用&&

只有当两个条件都为真时,才能达到结果。

它之前不起作用的原因是,即使其中一个字符串匹配,另一个字符串也不匹配,因此无论输入如何,语句都会导致返回HTTP_IO_DONE.

于 2012-10-25T01:43:03.400 回答
4

请注意,只有return HTTP_IO_DONE;两个条件都为真时,您才应该使用and (&&) 而不是or

于 2012-10-25T01:43:44.383 回答