第1个回答 2011-05-07
这代码问题很多啊
1、你传递的参数没有按照函数定义的参数类型。比如insert(int score[],int n,int x,int i)
但是使用时if(insert(score[N],i,x,*n)==1) 。第一个参数本来是传递数组指针,结果你传递的是一个越界的数组元素,第一个参数应该改为score。第二个和第四个参数至少从名字上看是相反的,不知道是你的笔误还是应该如此。其他的几个函数都有这个问题。
2、delete是默认的关键字,如果你自己想用最好首字母大写或者添加些别的信息。
3、 ch314156提到的,if(i>(n+1)) {printf("删除失败!\n"); return 0;},使用指针做指向的数据要用*。所以改为if(i>(*n+1)) {printf("删除失败!\n"); return 0;}
建议楼主先仔细把程序中这样的问题修改下。