【发布时间】:2012-12-09 08:22:05
【问题描述】:
我有一个程序,它使用 for 循环来检查条件语句并对数据集运行测试,其中大多数是一个可能会分支的线性 if 语句。我的问题是带括号的 for 循环如何决定范围内和范围外的内容?例如:
我的程序中有一个 for 循环:
for( i =0; i < (sizeof(exact_roots) / sizeof(bn_comlplex)); i++){
if(fabs(roots[k].re - exact_roots[i].re) < 0.00001 && fabs(roots[i].im - exact_roots[i].im) < 0.00001)
rootmatch++;
}
在这种情况下需要括号吗? for 循环会将第三行视为 for 循环的一部分还是将其丢弃并给我一个编译错误?
没有括号的for循环的极端情况如何,循环如何处理它?
for(i = 0; i < num; i++)
if(something)
....
else //is this still considered apart of the loop?
....
【问题讨论】:
-
为什么要这样编码?它被认为是容易出错的代码。
-
只是对没有括号的 for 循环的主题感到好奇,感谢大家的快速回答。