这段程序有问题吗?
void yearupdate(Pointer Head){
Pointer p1;
p1=NULL;
int km,zh1,zh2,nian1;
printf("\n\t\t\t所属年份添加和修改:");
printf("\n\t\t\t1.批量修改.");
printf("\n\t\t\t2.单个修改");
printf("\n\t\t\t请输入选项:");
scanf("%d",&km);
getchar();
if(km==1)
{
printf("\n\t\t\t请输入周号范围:");
printf("\n\t\t\t周号起始地址:");
scanf("%d",&zh1);
getchar();
printf("\n\t\t\t周号结束地址:");
scanf("%d",&zh2);
getchar();
printf("\n\t\t\t请输入所属年份:");
scanf("%d",&nian1);
getchar();
for(p1=Head;p1!=NULL;p1=p1->next)
{
if(p1->jz>=zh1&&p1->jz<=zh2)
p1->nian=nian1;
}
}
else if(km==2)
{
printf("\n\t\t\t周号:");
scanf("%d",&zh1);
getchar();
printf("\n\t\t\t请输入所属年份:");
scanf("%d",&nian1);
getchar();
for(p1=Head;p1!=NULL;p1=p1->next)
{
if(p1->jz==zh1)
p1->nian=nian1;
}
}
else
{
printf("\n\t\t\t输入错误,返回主菜单!");
Sleep(2000);
}
}
为什么主程序第二次调用时就会死?第二次输入周结束地址时就会死。大家帮我分析下是什么原因?