对于上图问题明明思路对了,为什么打印不出来!是代码哪里错了吗,能否解释下为什么?

img

img

对于上图问题明明思路对了,为什么打印不出来!是代码哪里错了吗,能否解释下为什么?

```c
#include 
#include
struct student
{
    char num[1000];
    int computer_num[100];
    int text_num[100];
}text;
int main()
{
    int N, M;
    int sch[100];
    scanf("%d", &N);

    for (int i = 0; i < N; i++)
    {
        scanf("%s %d %d\n", &text.num[i], &text.computer_num[i], &text.text_num[i]);
    }
    scanf("%d", &M);
    for (int i = 0; i < M; i++)
        scanf("%d", &sch[i]);
    for (int k = 0; k for (int j = 0; j < N; j++)
        {
            if (text.computer_num[j] == sch[j])
            {
                printf("%s %d\n", text.num[j], text.text_num[j]);
            }
        }
    }
    return 0;
}

```

你这个数据结构有点莫名奇妙
num是学生的学号,一个串,后面两个是整数,可为啥是数组呢?text到底是代表一个学生,还是一堆学生?如果是一堆学生,那应该是


struct student
{
    char num[1000];
    int computer_num;
    int text_num;
}text[1000];这样子
或者 

struct student
{
    char num[1000][100];
    int computer_num[100];
    int text_num[100];
}text; 这样子。