相关疑难解决方法(0)

strcmp()如何工作?

我一直在寻找答案.我要做出一系列的我自己的字符串函数一样my_strcmp(),my_strcat()等等.

是否strcmp()通过两个字符数组的每个索引工作,如果ASCII值在两个字符串的相同索引处较小,则该字符串按字母顺序更大,因此返回0或1或2?我想我要问的是,它是否使用字符的ASCII值来返回这些结果?

任何帮助将不胜感激.

[修订]

好的,所以我想出了这个...它适用于所有情况,除非第二个字符串大于第一个字符串.

有小费吗?

int my_strcmp(char s1[], char s2[])
{   
    int i = 0;
    while ( s1[i] != '\0' )
    {
        if( s2[i] == '\0' ) { return 1; }
        else if( s1[i] < s2[i] ) { return -1; }
        else if( s1[i] > s2[i] ) { return 1; }
        i++;
    }   
    return 0;
}


int main (int argc, char *argv[])
{
    int result = my_strcmp(argv[1], argv[2]);

    printf("Value: %d \n", result);

    return …
Run Code Online (Sandbox Code Playgroud)

c string

19
推荐指数
3
解决办法
10万
查看次数

如何检查值是否与字符串匹配

我在这里有一个结构,例如:

char *sname;
........
players[i].sname
Run Code Online (Sandbox Code Playgroud)

等于"詹姆斯".

我需要检查值之间的相等性,如下所示:

if (players[i].sname == 'Lee')
Run Code Online (Sandbox Code Playgroud)

但我没有太多运气.是否有一个str*我应该使用的功能,或者无论如何都要修复我的if陈述?

c

5
推荐指数
2
解决办法
800
查看次数

标签 统计

c ×2

string ×1