gpt4 book ai didi

c - 结构(搜索)

转载 作者:行者123 更新时间:2023-11-30 14:54:58 25 4
gpt4 key购买 nike

我设法搜索到姓名和电话号码。但每当 for 循环循环时,它也会打印“找不到名称”。

void search(Contact *p, int size, char *tsearch)
{
int i = 0;
for(i = 0; i < size; i++){
if(strcmp(p[i].name, tsearch) == 0){
printf("Name = %s, Tel = %s \n", p[i].name, p[i].telno);
}
else
printf("Name not found!");
}
}

我应该在哪里放置'printf(“未找到名称!”)'?

最佳答案

2件事。 1 找到名称后停止搜索。 2. 仅当根本找不到名称(不仅仅是当前单元格)时才打印。

void search(Contact *p, int size, char *tsearch)
{
int i = 0;
boolean found = false;
for(i = 0; i < size && !found; i++){
if(strcmp(p[i].name, tsearch) == 0){
printf("Name = %s, Tel = %s \n", p[i].name, p[i].telno);
found = true;
}
}
if (!found)
{
printf("Name not found!");
}
}

注意,我添加了一个标志 found 来指示是否找到该值并在找到后停止循环。仅当 found 此时仍为 false 时,我才将未找到的打印内容移至循环外部。

关于c - 结构(搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46391097/

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