-3

如果已在本网站上回答此问题,请提前道歉。我正在尝试将 C 中字符串中的一个字符与另一个字符进行比较。以下是一些代码作为示例:

#include <stdio.h>
#include <stdlib.h>
char your_name[];
int main(){
    printf("Please enter your name:\n");
    scanf("%s",your_name);
    if (your_name[0]=="A"){
        printf("Your name begins with A!");
    }
    else{
        printf("Your name does not begin with A!");
    }
    return 0;
}

这段代码不起作用,我不知道为什么。如果我在提示时输入“Anthony”,我可以 printf 字符 your_name[0],它会显示“A”,但 if 语句总是失败。我试过使用 strcmp 并没有用(虽然我不认为它会。)

我应该使用什么来进行此评估?

4

3 回答 3

4

"A"是一个字符串。您的目的是比较字符。尝试与之比较'A'

于 2013-06-21T21:52:49.347 回答
3

您必须使用'A'而不是"A".

if (your_name[0]=='A'){}
                  ^ ^
//Use single quotes here

第一个是字符文字,而第二个是字符串文字,由于您尝试比较字符,因此您使用的内容不正确。

于 2013-06-21T21:53:02.067 回答
1

该字符应用单引号指定。你的if陈述应该是

if (your_name[0]=='A')
于 2013-06-21T21:52:36.423 回答