void search() { if (count == 0) { printf("通讯录为空,无法查询记录!\n"); return; } char name[20]; printf("请输入要查询的记录的姓名:"); scanf("%s", name); int i; for (i = 0; i < count; i++) { if (strcmp(book[i].name, name) == 0) { printf("姓名\t性别\t籍贯\t电话\n"); printf("%s\t%s\t%s\t%s\n", book[i].name, book[i].sex, book[i].hometown, book[i].phone); return; } } printf("未找到该记录!\n"); }请为这段代码添加注释
时间: 2024-03-08 21:45:34 浏览: 44
下面是注释后的代码:
void search() {
// 判断通讯录是否为空
if (count == 0) {
printf("通讯录为空,无法查询记录!\n");
return;
}
// 读取用户输入的姓名
char name[20];
printf("请输入要查询的记录的姓名:");
scanf("%s", name);
int i;
// 遍历通讯录中的所有记录
for (i = 0; i < count; i++) {
// 如果找到匹配的记录,则输出该记录的姓名、性别、籍贯、电话,并直接返回
if (strcmp(book[i].name, name) == 0) {
printf("姓名\t性别\t籍贯\t电话\n");
printf("%s\t%s\t%s\t%s\n", book[i].name, book[i].sex, book[i].hometown, book[i].phone);
return;
}
}
// 如果遍历完所有记录仍未找到匹配的记录,则输出提示信息
printf("未找到该记录!\n");
}
该函数主要实现以下功能:
1. 判断通讯录是否为空,若为空则无法查询,输出提示信息并返回。
2. 读取用户输入的姓名。
3. 遍历通讯录中的所有记录,查找姓名匹配的记录。
4. 如果找到匹配的记录,则输出该记录的姓名、性别、籍贯、电话,并直接返回。
5. 如果遍历完所有记录仍未找到匹配的记录,则输出提示信息。
需要注意的是,该函数的输入部分存在风险,因为没有对用户输入进行检查和验证。在实际应用中,需要加入输入格式检查等代码,以确保程序的健壮性。
阅读全文