爲什麼我在這個函數中得到了i ++上的死代碼警告?死代碼警告?
Q
死代碼警告?
23
A
回答
55
有循環沒有機會爲for
不止一次,因爲你正在返回:
return "";
因此,i++
不會永遠執行,這就是爲什麼你會得到一個死代碼警告。也許你想刪除return "";
和/或將它放在for
之外。
+0
你是對的,回報「」;被置於循環之外。現在我知道它是在我的臉上跳躍:o)謝謝 – 2011-02-15 13:23:42
13
這是因爲i++
通常在for-block結束後執行,並且在您的函數中,for-block的結尾永遠不會到達,因爲在該塊中無條件地返回一個值。
一個for循環
for (A; B; C) {
D;
}
在內部轉換爲以下:
A;
while (B) {
D;
C;
}
你可以看到,如果D
總是從函數返回,C
永遠不會達到。這是投訴的內容。
5
由於return "";
聲明,您將只執行一次循環。
3
就你的情況而言,下面的語句在無條件運行時會導致問題,並且會在執行for循環時始終運行。所以它永遠不會達到我的++,所以它的死代碼。
return "";
相關問題
- 1. 死代碼警告
- 2. 不需要死代碼警告在Eclipse
- 3. 死代碼警告在IF語句
- 4. 死亡代碼警告與物理庫
- 5. 獲取警告:SSIS警告代碼DTS_W_MAXIMUMERRORCOUNTREACHED
- 6. 死代碼警告在while循環與2,如果是
- 7. 如何在Haskell中啓用死代碼警告(GHC)
- 8. Eclipse死代碼警告,但是出了什麼問題?
- 9. Eclipse的死代碼警告何時可達?
- 10. 警告設定代碼
- 11. php sql代碼,foreach警告
- 12. SSIS警告代碼DTS_W_MAXIMUMERRORCOUNTREACHED
- 13. 警告(代碼1264):在sql
- 14. 警告在PHP代碼
- 15. .NET代碼分析警告
- 16. 代碼生成wreorder警告
- 17. 警告代代碼已簽名apk
- 18. j2objc不尊重死代碼報告
- 19. 代碼分析警告在入住時不會警告TFS 2010
- 20. 警告:EXC_Arithmetic(代碼= EXC_1386_DIV,子碼=爲0x0)在C代碼
- 21. 代碼警告而不是失敗
- 22. SQL警告代碼:-1100,SQLState:02000
- 23. C代碼中的QA警告消息
- 24. PHP會話超時代碼警告
- 25. 代碼契約警告不顯示
- 26. PHP代碼之前,JavaScript警告
- 27. 問題在Java代碼警告
- 28. 無法防止「代碼分析」警告
- 29. 關閉代碼合同警告
- 30. 代碼中的不必要警告
增加了'java'標記,因爲這個問題比Android更接近Java。 – fiction 2011-02-15 13:07:55
通過移動返回來解決「」;在循環之外並且移除最後的返回null;感謝所有的快速回答 – 2011-02-15 15:11:15