[英]C programming, Is this an infinite loop?
如果以下幾行是編譯程序的一部分,會發生什么?
void main() {
int x = 5;
while (x == 5);
}//end main
我相信是的,我已經編譯了它,並且屏幕保持不變,我也嘗試在while語句后添加
int y = 10;
printf("%i", y);
然后結束主。 但是它從不打印。 所以我相當確定它是一個無限循環,但我只想確定。
是的,這是一個無限循環,因為永遠不會滿足退出循環的條件:因為變量 x 在循環內永遠不會改變,循環的條件將始終為真。
是的,這是一個無限循環。 請記住,當條件為真時,while 循環將繼續。 由於 5 將始終等於 5,因此條件將始終為真,即使您不在 while 循環中執行任何操作。
是的,但在某些情況下它實際上可能會離開循環:
肯定還有其他情況可以結束循環,但我能想到的就是這些。
如果您有興趣,可以嘗試使用 Cheat Engine 更改 x 的值。
嘗試:
void main() {
int x = 5;
while (x == 5){
printf("%d\n", x);
}
}
對雙打使用格式 %d
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.