C語言 for 循環后面的大括號問題


之前在Java里也遇到過,潛意識里一直認為 for 循環的后面只要代碼縮進格式正確,那么 for 語句后面相應代碼都是在 for 循環的作用域中的,其實不然。

比如今天在寫哈希表的時候,下面的代碼:

1 for (i = 0; i < H->TableSize; i++) 
2         H->Cells[i].Info = Empty;
3         H->Cells[i].Data = 0;
4     

代碼的作用是初始化哈希表的數據,結果編譯運行的時候給我報了錯,經過調試發現少加了括號。特此,記錄防止遺忘。

1 for (i = 0; i < H->TableSize; i++) {
2         H->Cells[i].Info = Empty;
3         H->Cells[i].Data = 0;
4     }

這樣就對了。

C語言 for 循環有無大括號的區別:

有大括號:每次循環都執行大括號里面的代碼;

無大括號:只執行 for 循環后面的一行代碼。

 另:Java里的 for 循環語句語法和 C 相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM