我有一个电话簿应用程序,用户可以输入联系信息,它会显示在电话簿中。我有一个删除功能,允许用户通过姓氏搜索并从电话簿中删除联系人。我的问题是,当我搜索姓氏以删除联系人时,不仅是该联系人,还包括其后的所有联系人。
void delete_contact(fr*friends ,int* counter, int i)
{
char name_search[50]={'\0'};
char Delete[5]={'\0'};
printf("Search by last name\n");
scanf("%s",name_search);
for(i=0;i<*counter;i++)
{
if(strcmp(name_search,friends[i].Last_Name)==0)
{
strcpy(friends[i].Last_Name,Delete);
(*counter)--;
}
}
}
现在我意识到我需要编写更多strcpy
函数来覆盖与姓氏相关的联系人中的其余信息,但现在我需要弄清楚为什么它会删除电话簿中的所有其他姓名。想法?
如果需要,我可以发布更多代码或我的输出。谢谢