我遇到了一个问题,我想将项添加到链表的末尾,但似乎我在这里陷入了无限循环。
void addCheckPoint(struct checkPoints **checkPoint) {
struct checkPoints *checkPt = *checkPoint;
while (checkPt->next != NULL) {
checkPt->next;
if (checkPt->next == NULL) {
scanf("%c %d %d %d %d", &checkPt->dropOut, &checkPt->currentPoint, &checkPt->competitor, &checkPt->hour, &checkPt->minute);
}
}
}发布于 2012-12-14 17:56:54
您从不在循环中更新checkPt的值。更改线路
checkPt->next;至
checkPt = checkPt->next;来解决这个问题。
请注意,该函数可能还存在进一步的问题。尽管它的名字,它实际上并没有添加任何东西到列表中。相反,它编辑尾部项的内容。如果这不是故意的,您将需要malloc一个新元素,然后将其添加到尾部。
https://stackoverflow.com/questions/13876293
复制相似问题