C语言中如何比较两个以上的字符串?

Dan*_*iel 3 c string strcmp

我知道有 strcmp 但它只是让我比较两个字符串,而且我需要比较很多字符串

这个不起作用:

if(strcmp (resposta, "S" || "s" || "N" || "n")== 0)
        printf("Resposta = S");
    else
        printf("Resposta != S");

    printf("\nfim");
Run Code Online (Sandbox Code Playgroud)

Yu *_*Hao 5

您的方法未按预期工作,因为表达式与短路"S" || "s" || "N" || "n"相同。"S"

你必须将它与候选字符串一一比较:

if (strcmp(resposta, "S") == 0
    || strcmp(resposta, "s") == 0
    || strcmp(resposta, "N") == 0
    || strcmp(resposta, "n") == 0)
{
    printf("Resposta = S");
}
Run Code Online (Sandbox Code Playgroud)