多字符串比较

时间:2015-03-20 03:33:02

标签: c string compare

我需要将3个字符串与1个字符串进行比较 我目前正在使用以下代码。用户输入seatclass

 char first[10] = "FC";
 char econ[10] = "EC";
 char eandf[10]= "FC&EC";

     if ((seatclass==first)||(seatclass==econ)||(seatclass==eandf))
      {
      printf("win");
      }
      else
      {      
      printf("This is not a seatclass choose again");
      getchar(); 
      }

然而,当我输入FC或任何其他随机值时,我总是得到 This is not a seatclass choose again

5 个答案:

答案 0 :(得分:2)

您需要使用strcmp在C中进行比较。

以下是您可以进行比较的方法:

char first[10] = "FC";
char econ[10] = "EC";
char eandf[10]= "FC&EC";

if (strcmp(seatclass,first)==0 || strcmp(seatclass,econ)==0 || strcmp(seatclass,eandf)==0)
{
    printf("win");
}
else
{
    printf("This is not a seatclass choose again");
    getchar();
}

注意:您可以使用'=='来比较C ++中的string

答案 1 :(得分:1)

响应是“==”运算符正在比较您的情况下的指针,您应该使用strncmp函数(from string.h

答案 2 :(得分:1)

“ ==”将指向C中的数组和字符串的内存地址。相反,您可以使用strcmp函数。

答案 3 :(得分:0)

要比较两个字符串,我们可以使用strcmp()strncmp()函数。

答案 4 :(得分:-1)

使用strcmp()函数我们可以比较孔字符串,使用strncmp()函数我们可以比较字符串的某些特定范围。

如果字符串相同,则两个函数都返回0,否则返回-1 or 1