假设您想使用初始 get_first() 遍历列表,随后调用 get_next() 在列表末尾返回 NULL。
你更喜欢读哪一本?
element = get_first(list);
while (element)
{
process(element);
element = get_next(list);
}
对比
for (element = get_first(list); element; element = get_next(list))
{
process(element);
}
迭代的状态保存在列表结构中。
我个人更习惯这个while
版本,但是当我看到有人使用这个for
版本时,我也很容易理解发生了什么,所以现在我想知道哪个对大多数人来说更容易阅读。