問題應該出在printstudent函數的傳遞參數i上,我在visual c++上測試了一下,如果是將結構體數據直接賦值的話,輸出沒有問題:
struct Student {
char name[20];
int age;
struct Score score;
}stu[2]= {"hkx",20,{95,92,90},"zl",19,{99,98,97}};
但是如果是在該輸出函數之後(比如在main函數中)再行賦值,就會輸出0結果。
究其原因,應當是傳遞參數i時,不能將結構體的值直接傳遞。
但是細查之下,我也不是太清楚。建議題主將傳遞參數改為結構體本身。