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

lak*_*m99 10 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;
}
Run Code Online (Sandbox Code Playgroud)

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

Kas*_*lai 24

你正在寻找这个功能strcmp,或者strncmp来自string.h.

由于字符串只是数组,因此您需要比较每个字符,因此此函数将为您执行此操作:

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

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


Tre*_*ski 5

if(strcmp(aString, bString) == 0){
    //strings are the same
}
Run Code Online (Sandbox Code Playgroud)

神速