請幫忙寫一個(gè)簡單的C程序,我用來簡單的測試下JS、python、C的性能。js代碼var x = 10000000000var n = 0;for(var i = 0; i < x; i++){
n+=i
}console.log(n)console.log('ok')寫出這個(gè)遍歷邏輯的C類語言,謝謝。只是簡單的把玩,不可較真,我寫的C語言,它會(huì)報(bào)出溢出錯(cuò)誤。#include <stdio.h>int x = 10000000000;int n = 0;int main() { for(int i = 0; i<x; i++) n = n+i; printf("%d" ,n); printf("%s" ,": ok");
}
2 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
那把 x n 和 i 的聲明都換成 double
但這樣做最后的結(jié)果可能會(huì)和真實(shí)結(jié)果有誤差

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
1+2+3+。。。+10000000000,這個(gè)算式的結(jié)果是5.0000000005E+19,太大了,已經(jīng)超了int型的范圍了。
如果只是測加法的時(shí)間,推薦用循環(huán)嵌套,類似這樣
for (int i = 0; i < 1000000; i++) { n = 0; for (int j = 0; j < 10000; j++) { n += j; } }
- 2 回答
- 0 關(guān)注
- 896 瀏覽
添加回答
舉報(bào)
0/150
提交
取消