面试题目,请教各位,我不会
面试题目,请教各位,我不会: 问题: 下面的C语句 有什么优点和缺点 :
第一题:
for(i=0;i<n;i++)
{ if(条件)
dosomething;
else
dosomething;
}
第二题:
if(条件)
for(i=0;i<n;i++)
{
dosomething;
}
else
for(i=0;i<n;i++)
{
dosomething;
}
谢谢各位指点!
问题点数:20、回复次数:6Top
1 楼kobefly(科比--网络学习中)回复于 2005-04-04 08:11:13 得分 10
这道题目啊
问了100遍了
是林博士书上的
‘
原标准答案是
for (i=0; i<N; i++)
{
if (condition)
DoSomething();
else
DoOtherthing();
} if (condition)
{
for (i=0; i<N; i++)
DoSomething();
}
else
{
for (i=0; i<N; i++)
DoOtherthing();
}
前者
优点:程序简洁
缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。
后者:
优点:循环的效率高
缺点:程序不简洁
Top
2 楼chunhai12(小海)回复于 2005-04-04 08:17:08 得分 6
对哦,林锐书中早就有了Top
3 楼wodeyouxian(人生如梦)回复于 2005-04-04 09:17:00 得分 2
上面都说了Top
4 楼1982pc()回复于 2005-04-04 09:19:03 得分 2
送分的,可以封贴了Top
5 楼ypengfei(Fuck Japan!!!!!!)回复于 2005-04-04 09:31:31 得分 0
不错Top
6 楼tabris17(四不象)回复于 2005-04-04 09:35:55 得分 0
又见回家作业Top




