先貼上代碼
使用編譯器是Visual C++
電腦32位元
#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
#include <time.h>
#define len 1000
#define times 10000
#define type long long
type c[len][len];
int main()
{
int timer[2];
timer[0] = clock();
int i = times, j = times;
while (i
作者:
dritchie (卍~邁斯納效應~卍)
2015-02-16 08:01:00long long可以視為兩個int綁在同一個變數上
作者:
wenyonba (射後不理很XX啊!!!!)
2015-02-16 08:02:00我怎麼覺得你第二個while應該會永遠跑不完...
作者:
dritchie (卍~邁斯納效應~卍)
2015-02-16 08:02:00所以long long=0其實內部是兩次assignment
作者:
wenyonba (射後不理很XX啊!!!!)
2015-02-16 08:03:00喔喔,你的 for 裡面又 define 了 j,sorry
作者:
dritchie (卍~邁斯納效應~卍)
2015-02-16 08:04:00剩下的讀書吧 "程式設計師的自我修養"
作者:
wenyonba (射後不理很XX啊!!!!)
2015-02-16 08:05:00這樣宣告看起來好花啊...
作者:
ji2my (hkt)
2015-02-16 11:48:00define請用大寫
1. 你有開最佳化嗎?我用 gcc -O3 結果就和你相反了2. 宣告為 local 很可能會 stack overflow3. 使用memset填非0值很可能造成undefined behavior4. long long 不一定是兩個 int
作者:
lintsu (真闇の張鈞法)
2015-02-16 18:10:00要下最佳化參數在實驗
作者:
akasan (KITO)
2015-02-17 00:59:00用 memset, compiler 知道你在幹麻可以翻出更好的東西某些情況下你自己用 for 去清成 0, compiler 也認的出來