cnt++再while循环中,在L= L->next;的前面和后面都是一样的,循环体的执行由while条件控制。不管是在前面还是后面,执行的次数都是一样的,所以对结果没有影响。
跟下面的代码是一样的:
int Length_List(LNodeList L)
{
LNodeList p = L->next;
int cnt = 0;
while (p != NULL)
{
cnt++; //放在p=p->next后面也是可以的
p = p->next;
}
return cnt;
}
你说的是cnt++吗,只要在while循环里哪个位置都是一样的,每一次循环都会执行
len++在哪?
如果是cnt++的话,只要有一个节点不是NULL,那么在循环体中就加1,循环体中任何位置都一样,和L = L->next的位置无关
希望对题主有所帮助,可以的话,帮忙点个采纳!