结构体数组中按关键字查找满足条件的数据节点C语言
时间: 2023-12-14 08:39:35 浏览: 194
以下是一个例子,它演示了如何通过关键字查找结构体数组中满足条件的节点:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100
struct Person {
char name[20];
int age;
};
int main() {
struct Person people[MAX_SIZE] = {
{"Alice", 25},
{"Bob", 30},
{"Charlie", 35},
{"David", 40},
{"Emma", 45}
};
int size = 5;
char target_name[20];
printf("Enter the name you want to search: ");
scanf("%s", target_name);
int i, found = 0;
for (i = 0; i < size; i++) {
if (strcmp(target_name, people[i].name) == 0) {
printf("Name: %s\nAge: %d\n", people[i].name, people[i].age);
found = 1;
}
}
if (!found) {
printf("No such person found.\n");
}
return 0;
}
```
在此示例中,我们定义了一个结构体 `Person`,其中包含人的名称和年龄。我们还定义了一个包含 `Person` 结构体的数组 `people`。然后,我们通过循环遍历此数组并比较输入的名称与数组中每个元素的名称。如果名称相同,则我们打印该元素的名称和年龄,并将 `found` 标志设置为 1。如果没有找到相应的元素,则我们打印一条消息表明未找到该人。
阅读全文