c++代码现实没有错误,但没有运行结果,怎么回事?

c++代码现实没有错误,但没有运行结果,怎么回事
#include
#include
#include
using namespace std;
struct Student
{
string name;
int score;
};
struct teacher
{
string id;
struct Student st[5];
};
void printTeacher(struct teacher teArray[], int len)
{
string nameseed = "ABCDE";
for (int i = 0; i < len; i++)
{
teArray[i].id = "teacher_";
teArray[i].id += nameseed[i];
for (int j = 0; j < 5; j++)
{
teArray[i].st[j].name = "studen_";
teArray[i].st[j].name += nameseed[j];

        int random = rand() % 100 + 1;
        teArray[i].st[j].score = 60;
    }
}

};
void printinfo(struct teacher teArray[], int len)
{
for (int i = 0; i < len; i++)
{
cout << teArray[i].id << endl;
for (int j = 0; j < 5; j++)
{
cout << teArray[i].st[j].name << endl;
}
}
}
int main()
{
srand((unsigned int) time(NULL));
teacher teArray[3];
int len = sizeof(teArray) / sizeof(teArray[0]);
printTeacher(teArray, len);

}

因为main()函数里没有调用打印结构数组信息的函数printinfo(),调用下这个函数即可打印出相应信息。

修改如下:


#include <iostream>;
#include <stdlib.h>
#include <time.h>
using namespace std;

struct Student {
    string name;
    int score;
};

struct teacher {
    string id;
    struct Student st[5];
};

void printTeacher(struct teacher teArray[], int len) {
    string nameseed = "ABCDE";
    for (int i = 0; i < len; i++) {
        teArray[i].id = "teacher_";
        teArray[i].id += nameseed[i];
        for (int j = 0; j < 5; j++) {
            teArray[i].st[j].name = "studen_";
            teArray[i].st[j].name += nameseed[j];

            int random = rand() % 100 + 1;
            teArray[i].st[j].score = 60;
        }
    }
};

void printinfo(struct teacher teArray[], int len) {
    for (int i = 0; i < len; i++) {
        cout << teArray[i].id << endl;
        for (int j = 0; j < 5; j++) {
            cout << teArray[i].st[j].name << endl;
        }
    }
}

int main() {
    srand((unsigned int) time(NULL));
    teacher teArray[3] ;
    int len = sizeof(teArray) / sizeof(teArray[0]);
    printTeacher(teArray, len);
    // 调用printinfo()函数打印 teacher结构数组里的信息 
    printinfo(teArray,len); 

}

img