1. 程式人生 > >無限迴圈 while(1) 和 for(; ;) 有何區別?哪個更好?

無限迴圈 while(1) 和 for(; ;) 有何區別?哪個更好?

無限迴圈有兩種常用的方法:
while(1) 和 for(; ; ) 。
兩種方法的效果一樣,相比之下,哪種更好些?
編譯後代碼對比:
1、while( 1 );
00401028 mov eax,10040102D test eax,eax0040102F je main+23h (00401033)00401031 jmp main+18h (00401028)
2、for( ; ; );
00401033 jmp main+23h (00401033)
對比發現,for(; ;)指令少,不佔用暫存器,而且沒有判斷、跳轉,比while( 1 )要好一些。