我有以下正常运行的代码。
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;
}
不幸的是,后者无法正常工作。有什么我忽略了?提前致谢! 附:为了这个问题,strcmp == strcmppgm2ram。
答案 0 :(得分:6)
当您使用||
时,您正在使用&&
。
只有在BOTH条件为真时才能达到结果。
之前不起作用的原因是因为即使其中一个字符串匹配,另一个字符串也不匹配,因此无论输入如何,该语句总是会返回HTTP_IO_DONE
。
答案 1 :(得分:4)
请注意,如果两个条件都变为true,则只有return HTTP_IO_DONE;
,因此您应该使用和(&&)而不是或强>