程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++ For循環語句的效率測試優化及運行時錯誤:Stack Overflow的解決辦法

C/C++ For循環語句的效率測試優化及運行時錯誤:Stack Overflow的解決辦法

編輯:C++入門知識

C/C++ For循環語句的效率測試優化及運行時錯誤:Stack Overflow的解決辦法   在多重循環中,如果有可能,應當將最長的循環放在最內層,最短的 循環放在最外層,以減少CPU跨切循環層的次數。   使用以下代碼對嵌套For循環的效率進行測試驗證: [cpp]   // For嵌套性能.cpp : Defines the entry point for the console application.   //      #include "stdafx.h"   #include <iostream>      #include <time.h>      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的解決辦法:  

\

\


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved