#include<stdlib.h>
#include<string.h>
#include <stdio.h>
#define N 3
struct Student {
int id;
char name[30];
int age;
};
int main() {
struct Student students[N] = {
{1001, "wang", 19},
{1002, "li", 18},
{1003, "zhang", 20}};
struct Student stu;
stu = search(students);
printf("学号\t姓名\t年龄\n");
printf("%d\t%s\t%d\n", stu.id, stu.name, stu.age);
}
struct Student search(struct Student students[]) {
for (int i = 0; i < N; i++) {
if (students[i].id == 1001) {
return students[i];
}
}
}
search函数要在main函数前申明才行,否则main函数不认识 search函数,所以会标红
把search函数代码放到main函数的上方就可以了
另外还存在一个编译问题就是search函数没有肯定能执行到的return语句。如果id没有1001的,这个函数就没有被执行到的return语句了,编译器会警告的。