代码中search的地方错哪了,clion运行中一直是红的

#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语句了,编译器会警告的。