gpt4 book ai didi

c++ - 从0还是1开始循环?哪一个,为什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:09:14 25 4
gpt4 key购买 nike

我读/写的大多数 for 循环都是从 0 开始的,公平地说,我读过的大部分代码都是用于嵌入式系统的,它们是在 C/C++ 中编写的。在嵌入式系统中,可读性在某些情况下不如代码效率重要。因此,我不确定以下哪种情况会是更好的选择:

版本 1

for(i = 0; i < allowedNumberOfIteration; i++)
{
//something that may take from 1 iteration to allowedNumberOfIteration before it happens
if(somethingHappened)
{
if(i + 1 > maxIteration)
{
maxIteration = i + 1;
}
}
}

版本 2

for(i = 1; i <= allowedNumberOfIteration; i++)
{
//something that may take from 1 iteration to allowedNumberOfIteration before it happens
if(somethingHappened)
{
if(i > maxIteration)
{
maxIteration = i;
}
}
}

为什么我认为第一个版本更好:

1.大多数循环都是从0开始的。所以,也许有经验的程序员会觉得从0开始更好。

为什么我认为第二个版本更好:

  1. 公平地说,如果函数中有一个从 0 开始的数组会很棒,因为数组的索引从零开始。但在这部分代码没有使用数组。

  2. 此外,第二个版本看起来更简单,因为您不必考虑“+1”。

我不知道的事情

1) 是否有任何性能差异?

2) 哪个版本更好?

3)在决定起点时,还有其他需要考虑的方面吗?

4)我是不是太担心了?

最佳答案

1)没有

2) 都不是

3) C 和 C++ 中的数组是从零开始的。

4) 是的。

关于c++ - 从0还是1开始循环?哪一个,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44462262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com