什麼!?overflow!!
我看不出來怎樣會overflow,了不起就是陷入迴圈不可自拔罷了....
你是在講笑話嗎?
--
[1;33;41m[Master Chang.]______________________________________________ [m
[1;33;44m企鵝寶寶工作隊 | http://3ybaby.v-club.net/ [m
[1;33;44m請大家幫忙翻譯KDE | http://i18n.linux.org.tw/ [m
[1;33;44m全像光學實驗室 | http://www.ccit.edu.tw/~c3hog/master.html [m
[1;33;44m_____________________________________________________________ [m
--
[1;32m※ Origin: [33mSayYA 資訊站 [37m<bbs.sayya.org> [m
[1;31m◆ From: [36mh112-213.dorm5.ccit.edu.tw [m
再累加的話 i 會變成亂七八糟的數值, 然後沒做事
然後 i 再累加, i 又變成亂七八糟的數值, 然後沒做事
然後 i 再累加....................................
到底會發生什麼事?
--
[1;31m※ Origin: [36m逢甲蒼穹資訊網<bbs.fcu.edu.tw> [33m◆ From: [35m48.26.iecs.fcu.edu.tw [m
i 累加到 2^31-1 的時候,
i++ 會使 i 的值變成 -2^31,
於是 i > -1 的測試結果為 false,
所以會跳出 for loop.
--
[1;32m□ Origin: [33m風 之 谷 [37mbbs.ee.ncku.edu.tw [31m□ From: [36meepc077.ee.ncku.edu.tw [m
[1;32m◆ Modify: [37m03/05/08 17:14:46 [31m□ From: [36meepc077.ee.ncku.edu.tw [m
經過測試
這才是正解
#include <stdio.h>
int main()
{
int i;
for ( i = 0 ; i > -1 ; i++ );
printf("End!\n");
}
==
$ uname -a
SunOS mungee 5.8 Generic_108529-18 i86pc i386 i86pc
$ time ./a.out
End!
real 0m4.352s
user 0m4.190s
sys 0m0.000s
==
所以這也不是無限回圈
其實無限迴圈何必要用到變數和加法咧
一行
for (;1;);
或
while (1);
就可以了
--
[0m
[0m Thy speak of a [36;1mvision [0m.
[0m An [33;1mANGEL [0m, standing before thee.
[0m Tis the Angel of [31;1mLOVE [0m, " [32;1mAngelica [0m"
[0m
--
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [m [34m [44m [1;34;40m╱ [m [44m [1;34;40m╱ [m [44m [;34;40m ̄ [;34;40m ▌ [34m ̄ [44m [40m ̄ [1;34m╲╱ [31mBBS [37m 城邦 [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [34m [46m [1;36;40m╲ [m [46m [1;36;40m╲ [m [46m [36;40m╴ ▌ ▌ ▏ [1;34m [33mKK免費撥接 [m
[1;32m└── [34m《 [0;37mFrom:210.49.215.85 [1;34m》 [32m──┘ [37m http://www.kkcity.com.tw/freeisp/ [m