这是怎么回事啊,怎么数据都是0,而且sex也不显示


#include<stdio.h>
struct study {
    char *name;
    int num;
    char sex;
    double goal;

}a[3] = { {"mike",101,'m',90.0},{
    "joy",102,'m',86.0
},
    {"key",103,'w',59.0},
};


int main()
{
    int i, j, k,l;
    i=0, j=0, k=0, l=0;
    printf("name  ");
    while(i<3) {
        printf("%s", a[i].name);
        printf(" ");
        i++;
    }
    printf("\n");
    printf("num  ");
    while(j<3)
    {
        printf("%d", a[i].num);
        printf(" ");
        j++;
    }
    printf("\n");
    printf("sex  ");
    while(k<3) {
        putchar(a[i].sex);
        printf(" ");
        k++;
    }
    printf("\n");
    printf("goal  ");
    while(l<3) {
        printf("%.2lf", a[i].goal);
        printf(" ");
        l++;
    }



    return 0;
}

img