1

我正在为一个变量编写一个 for 循环,该变量start的值已经在程序的其他地方计算过。

for(start; start<end; start++)给出一个警告,并且

for(start=start; start<end; start++)似乎是一个不必要的任务。

我能想到的另一个选择是以下 - 这可以吗,或者您会将其归类为糟糕的编码风格?

for(; start<end; start++){
    //do stuff
}
4

4 回答 4

5

恕我直言,这不是糟糕的编码风格,但也许您想改用 a while

while (start < end)
{
  //do stuff
  ++start;
}

这只是口味问题,真的。

于 2012-04-09T00:25:07.413 回答
3

for离开循环的任何部分都可以。省略所有部分也可以——事实上,这是表达无限循环的惯用方式,如K&R 书中所示。

不过,您应该仔细考虑其他选择;awhiledo/while循环可能会提供更易读的替代方案。

于 2012-04-09T00:26:30.967 回答
1

是的,你可以这样做。但是,我建议将 start 分配给类似i或其他变量,因为现在您在迭代时更改了 start 的值。

于 2012-04-09T00:24:51.903 回答
0

您可以按以下方式编写代码以获得所需的结果:

while(start++<end){
    // your code
}

您可以利用在变量名后添加“++”在条件语句中检查后递增它的事实。

于 2012-04-09T00:29:49.657 回答