1

假设您想使用初始 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版本时,我也很容易理解发生了什么,所以现在我想知道哪个对大多数人来说更容易阅读。

4

1 回答 1

0

两者都非常易读。你不会混淆你的读者与任何一个。while 循环可以说更具可读性(但人们的里程可能会有所不同......)所以如果列表只迭代一次,我可能会使用它,否则使用更简洁的 for 循环。

于 2012-09-22T10:10:31.147 回答