2012-04-09 88 views
0

我正在爲變量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

回答

1

是的,你可以這樣做。不過,我建議將開始分配到一個像i之類的變量,因爲現在您在迭代時正在更改開始的值。

4

這不是不好的編碼風格恕我直言,但也許你想用while而不是?

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

這只是一個味道問題,真的。

2

使for循環的任何部分都沒有問題。所有零件都離開也是可以的 - 事實上,它是表達無限循環的慣用方式,如K&R book.

您應該仔細考慮其他選項;有可能whiledo/while循環呈現更可讀的替代方案。

0

您可以編寫代碼作爲期望的結果如下:

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

您送取的該變量名稱後添加「+」增加它的事實的優點:它是在檢查後條件語句。