for循环,将起始值留空?

时间:2012-04-09 00:22:31

标签: c for-loop styles

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

执行for(start; start<end; start++)会发出警告,

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

我能想到的其他选项如下 - 这是否可以,或者你会把它归类为糟糕的编码风格?

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

4 个答案:

答案 0 :(得分:4)

这不是绰号编码风格恕我直言,但也许你想用while代替?

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

这只是一个品味问题,真的。

答案 1 :(得分:2)

保留for循环的任何部分都可以。抛弃所有部分也是可以的 - 事实上,它是表达无限循环的惯用方式,如K&R book.

所示

你应该仔细考虑你的其他选择; whiledo / while循环可能会提供更具可读性的替代方案。

答案 2 :(得分:1)

是的,你可以这样做。但是,我建议将start分配给像i之类的变量,因为现在你在迭代时改变start的值。

答案 3 :(得分:0)

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

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

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