-3
我有两个全局变量COUNT=0;
和SIGN=0;
后来我#define SIZE 100
插入排序分段错误
我不断收到在我的代码赛格故障,但我也不太清楚的地方,如果你们能帮助别针把它下来我会很感激。
它应该打印出插入从txt文档读入的数据时进行的分配总数。我不确定我是否理解什么是任务,但这是我的失败。
void insert(int x[], int n){
int key,y,z;
COUNT++;
for(z=1; z<n-1; z++){
key=x[z];
SIGN++;
for(y=(z-1); y<0||key>=x[y]; y--){
x[y+1]=x[y];
SIGN++;
}
x[y+1]=KEY;
}
int main(){
FILE *fp;
fp=fopen("data.txt","r");
int #temp;
int i=0;
int *sort=NULL;
sort=(int *)malloc(SIZE*sizeof(sort));
while(fp!=NULL){
fscanf(fp, "%d", temp);
sort[i]=(int)temp;
i++;
}
insert(sort, SIZE);
printf("number of Assignments=%d", SIGN);
return 0;
}
你没有在调试器中试过这个,是吗? – 2014-11-05 18:17:50
可能甚至没有编译... – mafso 2014-11-05 18:18:36
我尝试在valgrind中运行它,但它说我与fscanf的权限不好,而且我分配了两次,但没有释放 – Wingman 2014-11-06 01:25:49