按学号查找某个学生信息怎么用c语言代码
时间: 2023-08-12 20:09:11 浏览: 243
假设有一个学生信息结构体 `student`,包括学号和姓名,可以按如下代码进行学号查找:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
int id;
char name[20];
} Student;
Student student_list[] = {
{1001, "Alice"},
{1002, "Bob"},
{1003, "Charlie"},
{1004, "David"},
{1005, "Eve"}
};
Student* search_student_by_id(Student* student_list, int n, int id) {
for (int i = 0; i < n; i++) {
if (student_list[i].id == id) {
return &student_list[i];
}
}
return NULL;
}
int main() {
int id = 1003;
Student* student = search_student_by_id(student_list, 5, id);
if (student == NULL) {
printf("Cannot find student with id %d\n", id);
} else {
printf("Student with id %d is %s\n", student->id, student->name);
}
return 0;
}
```
其中,`student_list` 是学生信息数组,`n` 是数组长度,`id` 是要查找的学号。函数返回查找到的学生信息指针,如果没有找到则返回 `NULL`。这个函数会遍历整个数组,找到第一个学号与给定的 `id` 相等的学生信息并返回指针。