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

这是行不通的:

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

    printf("\nfim");

最佳答案

由于短路,表达式"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");
}

10-07 12:03