我一直在寻找答案.我要做出一系列的我自己的字符串函数一样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) 我在这里有一个结构,例如:
char *sname;
........
players[i].sname
Run Code Online (Sandbox Code Playgroud)
等于"詹姆斯".
我需要检查值之间的相等性,如下所示:
if (players[i].sname == 'Lee')
Run Code Online (Sandbox Code Playgroud)
但我没有太多运气.是否有一个str*我应该使用的功能,或者无论如何都要修复我的if陈述?