我正在阅读代码,我遇到了这段代码:
for (p = prevp->s.ptr; ; prevp = p, p = p->s.ptr)
我该如何解读?for循环有多个增量吗?我以前见过多个条件,用逗号分隔,但我之前从未见过多个增量.
在这种情况下,在循环的每次迭代中,都会调用这两个语句.它似乎是某种链表.如果将其作为while循环编写,您可以清楚地看到它是如何工作的:
p = prevp->s.ptr;
while (true) {
//Loop body here
prevp = p;
p = p->s.ptr;
}
Run Code Online (Sandbox Code Playgroud)