我正在爲變量start
寫一個for循環,其值已經在程序中的其他地方計算過了。for循環,使開始值空白?
做for(start; start<end; start++)
給予警告,並
for(start=start; start<end; start++)
似乎是不必要的分配。
我能想到的其他選項是以下 - 這是好的,還是將它歸類爲糟糕的編碼風格?
for(; start<end; start++){
//do stuff
}
我正在爲變量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