| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3088 人关注过本帖
标题:[讨论]for与goto 哪个的效率更高?
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
结帖率:78.95%
收藏
 问题点数:0 回复次数:32 
[讨论]for与goto 哪个的效率更高?

#include <iostream>

using namespace std;

int main()
{
cout<<"The for run"<<endl;

double num1 = 0;
double num2 = 0;
cin >> num2;
for (num1; num1 < num2; num1 ++)
{
cout << " num1 = " << num1 <<endl;
}
cout << "END.."<<endl;
cin.get();
return 0;
}

#include <iostream>

using namespace std;

int main()
{
cout<<"The goto run"<<endl;
double num1 = 0;
double num2 = 0;
cin >> num2;
start:
if (++num1 >= num2)
{
goto end;
}
else
{
cout << " num1 = " << num1 <<endl;
goto start;
}
end:
cout << "END.."<<endl;
cin.get();
return 0;
}

执行同样的任务,这两具程序哪个会运行快些,如果存在,为什么,如果不存在又为什么?
搜索更多相关主题的帖子: goto 效率 DIV endl 
2007-06-19 10:01
doom5211
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-6-7
收藏
得分:0 
第二个程序里的Num1的前置自加会不会影响运行效率啊?

2007-06-19 12:55
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
++num1 不会产生临时变量,我想是不会影响的.

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-06-19 13:53
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 
无条件跳转吧,一般没人这么写,程序是先给人看再给机器看的
2007-06-19 13:55
doom5211
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-6-7
收藏
得分:0 

我记得上程序设计课时老师引用过第杰思特拉的(Djstra)的一句话,大概是这么说的(因为记不清楚了,汗)"goto语句会给程序带来毁灭性的破坏".我想还是少用goto语句为好.


2007-06-19 15:50
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
这个你也能拿来讨论,估计你是我见过的第一个
不过goto语句不常用,不是排斥,只是没必要的时候不会用这个

Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-06-19 16:11
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
呵呵...goto语句不提倡用,这个我是清楚得很的,但我讨论的不是应不应该用的问题.

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-06-19 17:25
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
看汇编后的结果

汇编快成我在这里的口头禅了
2007-06-19 18:34
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
看来这些问题的研究得等我把C++学会应该怎么用再去翻汇编了.
以后不发这种贴了,还不够格...

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-06-19 18:55
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 
你可以在程序开始输出一个当前时间(高精度)..
然后进行相同功能的运算..用两种方法.. 来他个几十万次循环...
最后结束时输出一个时间...

比较两个程序的耗时..

女侠,约吗?
2007-06-19 19:50
快速回复:[讨论]for与goto 哪个的效率更高?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019328 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved