for循环,使开始值空白?
问题描述:
我正在为变量start
写一个for循环,其值已经在程序中的其他地方计算过了。for循环,使开始值空白?
做for(start; start<end; start++)
给予警告,并
for(start=start; start<end; start++)
似乎是不必要的分配。
我能想到的其他选项是以下 - 这是好的,还是将它归类为糟糕的编码风格?
for(; start<end; start++){
//do stuff
}
答
是的,你可以这样做。不过,我建议将开始分配到一个像i
之类的变量,因为现在您在迭代时正在更改开始的值。
答
这不是不好的编码风格恕我直言,但也许你想用while
而不是?
while (start < end)
{
//do stuff
++start;
}
这只是一个味道问题,真的。
答
使for
循环的任何部分都没有问题。所有零件都离开也是可以的 - 事实上,它是表达无限循环的惯用方式,如K&R book.
您应该仔细考虑其他选项;有可能while
或do
/while
循环呈现更可读的替代方案。
答
您可以编写代码作为期望的结果如下:
while(start++<end){
// your code
}
您送取的该变量名称后添加“+”增加它的事实的优点:它是在检查后条件语句。
只留空。或者在'for(i = start; i
wildplasser
2012-04-09 00:25:26