提问:两个for循环的优缺点?

tomeagle 2008-11-11 08:34:50
一个是

for (i=0; i<n; i++)
{
if (cond)
func();
else
func();
}


另一个是


if (cond)
{
for (i=0; i<n; i++)
func();
}
else
{
for (i=0; i<n; i++)
func();
}

说明一下这两个的优缺点
...全文
282 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bxhzct 2008-11-11
  • 打赏
  • 举报
回复
8楼正解!!!
第一个:
优点:程序简洁

缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。

第二个:
优点:循环的效率高

缺点:程序不简洁
合金猫 2008-11-11
  • 打赏
  • 举报
回复
学习
tsoslience 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liuweibit 的回复:]
第一个:
优点:程序简洁

缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。

第二个:
优点:循环的效率高

缺点:程序不简洁
[/Quote]
up
liuweibit 2008-11-11
  • 打赏
  • 举报
回复
第一个:
优点:程序简洁

缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。

第二个:
优点:循环的效率高

缺点:程序不简洁

wind1373290 2008-11-11
  • 打赏
  • 举报
回复
很少看到第二种写法的
lly12521 2008-11-11
  • 打赏
  • 举报
回复
各有优点:
1.简洁
2.明确
CNMCNN 2008-11-11
  • 打赏
  • 举报
回复
呵呵,各有优点啊
Longinc 2008-11-11
  • 打赏
  • 举报
回复
高质量C++/C编程
一个简洁 一个效率高一点
云梦谭 2008-11-11
  • 打赏
  • 举报
回复
林锐博士的《高质量C++/C编程》里有详细说明,好像很多公司引用里面的题目当面试题
lbh2001 2008-11-11
  • 打赏
  • 举报
回复
《高质量C++/C编程》中有详细的说明
xhs_lh04 2008-11-11
  • 打赏
  • 举报
回复
第一个for很简洁,缺点多执行了一次条件判断,还有循环流水线作业被打破,使得编译器不能做优化,效率较低
第二个循环效率高,只是程序结构不简洁

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧