为了账号安全,请及时绑定邮箱和手机立即绑定

如何比较“ if”语句中的字符串?

/ 猿问

如何比较“ if”语句中的字符串?

C
繁星点点滴滴 2019-11-20 10:29:21

我想测试一下,看看“ char”类型的变量是否可以与诸如“ cheese”的常规字符串进行比较,例如:


#include <stdio.h>


int main()

{

    char favoriteDairyProduct[30];


    scanf("%s",favoriteDairyProduct);


    if(favoriteDairyProduct == "cheese")

    {

        printf("You like cheese too!");

    }

    else

    {

        printf("I like cheese more.");

    }


    return 0;

}

(我实际上想做的比这更长,但这是我坚持的主要部分。)那么如何比较C中的两个字符串呢?


查看完整描述

3 回答

?
动漫人物

您正在寻找的功能strcmp,或strncmp从string.h。


由于字符串只是数组,因此您需要比较每个字符,因此此函数将为您做到这一点:


if (strcmp(favoriteDairyProduct, "cheese") == 0)

{

    printf("You like cheese too!");

}

else

{

    printf("I like cheese more.");

}

进一步阅读:cplusplus.com上的strcmp


查看完整回答
反对 回复 2019-11-20
?
LEATH

if(strcmp(aString, bString) == 0){

    //strings are the same

}

神速


查看完整回答
反对 回复 2019-11-20
?
哔哔one

您不能使用==运算符比较字符数组。您必须使用字符串比较功能。看一下Strings(c-faq)。


标准库的strcmp功能比较两个字符串,如果它们相同,则返回0;如果第一个字符串按字母顺序“小于”第二个字符串,则返回负数;如果第一个字符串“大于”,则返回正数。


查看完整回答
反对 回复 2019-11-20

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信