您当前的位置: 首页 >  c++

C/C++ For循环语句的效率测试优化及运行时错误:Stack Overflow的解决办法

发布时间:2013-03-04 14:45:00 ,浏览量:0

C/C++ For循环语句的效率测试优化及运行时错误:Stack Overflow的解决办法

在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的 循环放在最外层,以减少CPU跨切循环层的次数。

使用以下代码对嵌套For循环的效率进行测试验证:

// For嵌套性能.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include#include    
using namespace std;  

int main(void)  
{  
	clock_t cstart,cends;  
	
	cstart=clock();
	
	long sum1 =0;
	long a1[5][10000000];
	
	for(long i = 0; i < 5; i++)                
	{
		for(long j = 0; j < 10000000; j++)
		{
			sum1 += a1[i][j];
		}
	}
	
	cout << "sum1=:" << sum1 << endl;
	
	cends=clock();  
	
	cout << "Clock时间差:" << cends-cstart << endl;  

	/
	cstart=clock();
	
	long sum =0;
	long a[10000000][5];

	for(i = 0; i < 10000000; i++)                
	{
		for(long j = 0; j < 5; j++)
		{
			sum += a[i][j];
		}
	}
	
	cout << "sum=:" << sum << endl;
	
	cends=clock();  
	
	cout << "Clock时间差:" << cends-cstart << endl;  
	
	//

	
	system("pause");  

	return 0;  
}
运行结果:

以上代码在Windows Server 2008 x64 系统上编译通过,

IDE为:Microsoft Visual c++ sp6

可以编译通过,但是运行会出现错误:

运行时错误:Stack Overflow的解决办法:

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    109889博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0535s