for循环,使开始值空白?

问题描述:

我正在为变量start写一个for循环,其值已经在程序中的其他地方计算过了。for循环,使开始值空白?

for(start; start<end; start++)给予警告,并

for(start=start; start<end; start++)似乎是不必要的分配。

我能想到的其他选项是以下 - 这是好的,还是将它归类为糟糕的编码风格?

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

只留空。或者在'for(i = start; i wildplasser 2012-04-09 00:25:26

是的,你可以这样做。不过,我建议将开始分配到一个像i之类的变量,因为现在您在迭代时正在更改开始的值。

这不是不好的编码风格恕我直言,但也许你想用while而不是?

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

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

使for循环的任何部分都没有问题。所有零件都离开也是可以的 - 事实上,它是表达无限循环的惯用方式,如K&R book.

您应该仔细考虑其他选项;有可能whiledo/while循环呈现更可读的替代方案。

您可以编写代码作为期望的结果如下:

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

您送取的该变量名称后添加“+”增加它的事实的优点:它是在检查后条件语句。