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