c - 如何比较 "if"语句中的字符串?

标签 c string

<分区>

我想测试并查看“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 语言中比较两个字符串呢?

最佳答案

您正在寻找 strcmp 函数,或 string.h 中的 strncmp

由于字符串只是数组,您需要比较每个字符,因此此函数将为您完成:

if (strcmp(favoriteDairyProduct, "cheese") == 0)
{
    printf("You like cheese too!");
}
else
{
    printf("I like cheese more.");
}

进一步阅读:strcmp at cplusplus.com

关于c - 如何比较 "if"语句中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222495/

相关文章:

c - 从扫描仪的输出中检测点阵图案

TCL 中带空格的字符串路径不起作用

c - 输入一个字符打印错误,但c中输入0时不打印

java - 如何在 Java 中比较字符串?

c - Arduino millis不工作

c - 为什么这个程序不打印连接的字符串?

c - C中指向多维​​数组的指针?

c - &address + sizeof(type) 和 &address + 1 有什么区别?

javascript - 从文本中获取子字符串

java - java中如何解析这串经纬度坐标?