为什么程序输出不了?

为什么程序输出不了?

问题描述:

#include<stdio.h>
int n,i;
struct Stu{
    char xh[100];
    char xm[100];
    int cj1[100];
    int cj2[100];
    int cj3[100];
};
struct Stu stu;
void input(){
    scanf("%d",&n);
    for (i=0;i<n;i++){
        scanf("%s%s%d%d%d",&stu.xh[i],&stu.xm[i],&stu.cj1[i],&stu.cj2[i],&stu.cj3[i]);
    }
}
void print(){
    
     for (i=0;i<n;i++){
        printf("%s,%s,%d,%d,%d\n",stu.xh[i],stu.xm[i],stu.cj1[i],stu.cj2[i],stu.cj3[i]);
    }
}
int main()
{
    input();
    printf("%s",stu.xh[0]);
    print();
    return 0;
}

```

修改如下,供参考:

#include<stdio.h>
int n,i;
struct Stu{
    char xh[100];
    char xm[100];
    int cj1;
    int cj2;
    int cj3;
};
struct Stu stu[200];
void input(){
    scanf("%d",&n);
    for (i=0;i<n;i++){
        scanf("%s%s%d%d%d",stu[i].xh,stu[i].xm,&stu[i].cj1,&stu[i].cj2,&stu[i].cj3);
    }
}
void print(){
     for (i=0;i<n;i++){
        printf("%s,%s,%d,%d,%d\n",stu[i].xh,stu[i].xm,stu[i].cj1,stu[i].cj2,stu[i].cj3);
    }
}
int main()
{
    input();
    //printf("%s",stu[0].xh);
    print();
    return 0;
}