1
我已经调试了几个小时,我真的完全失去了。帮帮我! 注意:在程序中有比这更多的代码,但其余的工作正常,所以我试图拉所有相关的代码。如果您发现有任何遗漏,请告诉我。C:Seg故障让我疯狂
typedef struct cellT {
queueElementT value;
struct cellT *link;
} cellT;
struct queueCDT {
cellT *head;
cellT *tail;
};
void ReverseQueue(queueADT queue){
int i, x, length;
length = QueueLength(queue);
cellT *beg, *end;
queueElementT temp;
beg = queue->head;
for(i = 0; i < (length/2); i++){
end = beg;
for(x = 0; x < (length-i); x++)
end = end->link;
/* POINTERS REMAIN, VALUES SWAPPED */
temp = beg->value;
beg->value = end->value; /* gdb says issue happens here */
end->value = temp;
}
}
如果你在linux下开发,试试[valgrind](http://stackoverflow.com/questions/7 316306/C-分割故障与 - 的strcmp/7316492#7316492) –