如何在C [duplicate]中的if语句中比较两个字符串

问题描述 投票:-1回答:3

我对C很陌生;在讲师告诉我用C进行编码之前,我通常先用C ++进行编码。那么如何在C中的if语句中比较两个字符串?

#include <stdio.h>

char name[100],tanya[50],type[100];

int value;

int main()
{

    printf("Enter name: ");
    scanf("%s", name);
    printf("Hello %s", name);
    printf( ", Are you interested in Anime? (y/n)");
    scanf("%s", tanya);
    if (tanya == "y") { // this is the part
        printf("Wow, you're an interesting person %s");
        do {

        } while ();

    } else {
        printf("good day sir.");

    }
    return 0;
}
c
3个回答
0
投票

要比较strings中的c,可以使用strcmp()库中提供的strcmp()

string.h

此函数返回char a[10],b[10]; if( strcmp(a,b) == 0 ) { // .. both are identical } ,您将在引用中获取详细信息。

或者,在学习时,实现自己的比较功能,例如:

0 or non zero

这可以帮助您考虑引擎盖下发生的事情。


0
投票
#include <stdio.h>
#include <string.h>

bool isEqual(char* a, char* b) {
    char* c = a, *d = b; 
    while(*c != '\0' && *d != '\0') {

        if(*c != *d) return false;

        c++;
        d++;
    }
    return true;
}

int main() {
    char a[10],b[10];

    strcpy(a,"name");
    strcpy(b,"name");

    if(isEqual(a,b)) {
        printf("%s %s are same\n",a,b);
    }else{
        printf("%s %s are not same\n",a,b);
    }

    return 0;
}

[当您只想输入if (tanya == "y") y之类的单个字符时,您无需使用或比较字符串。

而不是使用n对象,在其中输入一个字符,并比较该字符在char语句的条件内是否匹配yY

if

如果明确要使用字符串,则需要正确比较两个字符串。

在C语言中,比较两个字符串的一种常用方法是使用标题printf(", Are you interested in Anime? (y/n)"); char tanya; scanf("%c", tanya); if (tanya == 'y' || tanya == 'Y') {....} 中的strcmp()函数。

在您的代码中,它可以用作:

string.h

完成比较和if(strcmp(tanya,"yes") == 0); 语句的证明,以检查两个字符串是否相等。


整个代码应如下所示:

if

顺便说一句,仅仅因为他/她不喜欢动漫就踢任何人都是肤浅的;-)


-2
投票

您可以比#include <stdio.h> #include <string.h> char name[100],tanya[50],type[100]; int value; int main() { printf("Enter name: "); scanf("%s", name); printf("Hello %s", name); printf( ", Are you interested in Anime? (y/n)"); scanf("%s", tanya); if(strcmp(tanya,"yes") == 0){ printf("Wow, you're an interesting person %s", tanya); } else{ printf("Good day sir."); } return 0; } 比较检查单个字符。

'y'和“ y”一起具有不同的含义。 “ y”是单个字符,“ y”是两个字符“ y”和“ \ 0”。

您可以按照以下方式更新您的条件,

string
© www.soinside.com 2019 - 2024. All rights reserved.