我需要将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
答案 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