请前辈帮我看看这个问题
为什么下面这段程序,当输完“xuehao”这一项后就自动退出了,后面还有很多项要输入呢。#include<stdio.h>
#include<conio.h>
#include<string.h>
struct xuesheng
{
char xingming[100];
int nianling;
int xuehao;
float chengji[3];
};
void shuru(struct xuesheng x[]);
int main(void)
{
int i;
struct xuesheng x[3];
shuru(x);
getch();
return 0;
}
void shuru(struct xuesheng x[])
{
int i;
char *p;
printf("qing shu ru xue sheng de xin xi:\n");
for(i=0;i<3;++i)
{
printf("qing shu ru di %d ge xue shen xin xi:\n",i);
scanf("%s %d %d",p,&x[i].nianling,&x[i].xuehao);
printf("qing shu ru cheng ji:\n");
printf("xing ming:");
scanf("%s",p);
strcpy(x[i].xingming,*p);
printf("nian ling:");
scanf("%d",&x[i].nianling);
printf("xue hao:");
scanf("%d",&x[i].xuehao);
printf("cheng ji:\n");
printf("yu wen:");
scanf("%f",&x[i].chengji[0]);
printf("shu xue:");
scanf("%f",&x[i].chengji[1]);
printf("ying yu:");
scanf("%f",&x[i].chengji[2]);
}
}