gpt4 book ai didi

在 C 中不使用 strcmp 比较 Char 数组

转载 作者:太空狗 更新时间:2023-10-29 14:56:07 29 4
gpt4 key购买 nike

我正在寻找一种不使用 strcmp 来比较 2 个字符数组的方法。这是要走的路吗?或者我错过了什么?当我编译它时,如果我在两者中输入相同的字符串,程序就会卡住并且不会做任何事情。请帮忙!

编辑:抱歉,它本来是 A 而不是 C

int compare_info(char *array1, char *array2)
{

int i;
i = 0;

while(array1[i] == array2[i])
{
if(array1[i] == '\0' || array2[i] == '\0')
break;
i++;
}

if(array1[i] == '\0' && array2[i] == '\0')
return 0;

else
return-1;

}

最佳答案

这里有一个解决方案,与您的代码非常相似,但我做了一些更改。我把循环中间的return去掉了,因为它们破坏了结构,这样更容易分析。整理,我在while中添加了一个新的条件,所以当找到字符串结尾时,循环结束

int compare_info(char *array1, char *array2)
{
int i;
int response = 0;
i = 0;

while(array1[i] == array2[i] && response == 0 )
{
if(array1[i] == '\0' || array2[i] == '\0'){
response = 1;
}
i++;
}

return response;
}

关于在 C 中不使用 strcmp 比较 Char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27495346/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com