gpt4 book ai didi

c++ - 初学for循环问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:32 25 4
gpt4 key购买 nike

[编辑]糟糕,代码中有一个错误,现在对这个问题的所有回答似乎都很奇怪,但基本上 for 循环曾经是 for(i=0; i<15; i++)。我还进行了编辑以使问题更清楚。[/EDIT]

我正在尝试制作一个 for 循环,它检查一个 16 元素的数组,因此它从 0 循环到 15。然后我稍后使用 i 变量,但有时 i == 16,这会因越界而导致问题.

我有一个解决方案,但它看起来并不优雅,这让我觉得我遗漏了什么。我试过 while 循环,但我永远无法让任何循环从 0 到 15,也永远不会以大于 15 的值结束。

有什么方法可以让循环运行并检查数组的所有 16 个元素,同时在循环结束时永远不会大于 15?

int i;

for(i=0; i<16; i++)
{
someClass.someMethod(i);

if(someClass.Test())
{
break;
}
}



if (i == 16)
{
i = 15;
}

最佳答案

我建议在循环结束后使用 i 以外的其他变量。使用 for 循环而不是 while 循环的标准是您事先确切知道 for 循环将执行多少次。如果您已经知道这一点,只需将一些其他变量设置为循环的结束值并使用它,而不是为 i 提供双重用途。

int j = 15;

for(int i=0; i <= j; i++)
{
someClass.array[i];
}

// continue on using j, which value hasn't changed

关于c++ - 初学for循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800137/

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