函数出现 missing ; before type报错 和 明明定义了但出错信息却是没有定义,该怎么处理

函数出现 missing ; before type报错 和 明明定义了但出错信息却是没有定义
问题是学生成绩系统中的一个函数,出现了上述两个问题。 变量i,j,index,id 命名定义了却提示是没有定义的变量。系统中还有两个子函数也出现了 missing ; before type 的错误信息。请各位帮帮忙看一下。如果需要的话我可以把代码全贴出来。




/*修改学生信息*/

void Student_Modify()

{ int i,j,index;
  long id; 

  while(1)

  { //int i,j;

  int id;

  //int index;

  printf("请输入要修改的学生的学号:");

  scanf("%l",&id);

  getchar();

  index=Student_SearchByIndex(id);

  if (index==-1)

  printf("学生不存在!\n");

   
  else

  {

  printf("你要修改的学生信息为:\n");

  Student_DisplaySingle(index);

  printf("-- 请输入新值--\n");

  printf("请输入学号:");

  scanf("%l",&students[index].ID);

  getchar();

  printf("请输入姓名:");

  scanf("%s",&students[index].Name);

  getchar();
 
//int i,j;//i作为输入科目的编号变量,j作为循环变量
for(j=0;j<3;j++)
{

  printf("请输入成绩 语文(11111) 数学(11112) 英语(11113) 请先选择编号:");

  scanf("%d",&i);

  getchar();

if(!(i>=10000&&i<=99999))
{
printf("您输入的编号有误,请重新输入");
continue;
}
if(i==11111)
{ scanf("%f",&students[num].Mark1);
getchar();}

 

  if(i==11112)

{ scanf("%f",&students[num].Mark2);

getchar();}

 

  if(i==11113)

{ scanf("%f",&students[num].Mark3);

getchar();}

}
}
students[index].Average=Avg(students[index]);
 

  printf("是否继续?(y/n)");

  if (getchar()=='n')

  break;

}

 }


------解决方案--------------------
用编程工具检查一下是不是有{}、()等不配对的地方。有的编译器在不配对时,会报告无;等错误。用ue(Uedit32)或者vc6、vs2008等编程工具。
------解决方案--------------------
另外,怎么还出现在函数里声明函数呢?
这是不允许的!