gpt4 book ai didi

c - 如何比较两个字符串数组的元素并仅打印不匹配的元素? C(不是 C++)

转载 作者:行者123 更新时间:2023-11-30 17:43:03 24 4
gpt4 key购买 nike

我有两个这样的数组:char * list_of_names[size]char* list_of_names_2[size]但这两个数组可以包含不同数量的名称。例如:List1:“aa”,“bbb”,“ccc”,“ddd”,“QQQ”和List2:“aa”,“ccc”,“ddd”...我需要打印类似的内容:“不匹配“bbb”和“QQQ”我可以打印匹配的元素,但无法打印不匹配的元素

到目前为止我已经得到了这个:

for(i=0;i<size_of_1st_list;i++)
{
for(l=0;l<size_of_2nd_list;l++)
{
if(strcmp(list_of_names[i],list_of_names_2[l])==0){
printf("%s - match - %s\n", list_of_names[i]); //prints matches.. and I need print elements which the 2nd array doesn't contain....
}
}
}

最佳答案

乍一看,我认为您的“strcmp”行不会正确响应,因为如果字符串匹配,strcmp 将返回 0,并且 if() 语句中的代码将不会执行。因此,我建议通过添加“!”来纠正此问题运算符(逻辑否定),因此 if strcmp 将返回 0(字符串匹配)!(strcmp(...)) 将返回 1 并且 if 语句将打印匹配项。对于不匹配的元素,您可以在语句中添加 'else' 子句,因此如果 !(strcmp(...)) 不是 0,则意味着字符串不匹配,您可以使用以下命令打印它们您首选的消息。

关于c - 如何比较两个字符串数组的元素并仅打印不匹配的元素? C(不是 C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20327187/

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