簡體   English   中英

為什么in中的int數(數字> 10)會產生無限循環?

[英]Why does an int number in do (while number > 10) gives an endless loop?

以我的理解,while應該結束循環,導致int數“ in”在循環中將其初始化為0。還是我錯了? 但這給了我一個無限循環,打印零。 我用gcc編譯了它,並嘗試用gdb調試它。 對我來說,那一刻不會停止循環是沒有意義的。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int number = 20;
    do
    {
        int number = number / 2;
        printf("%d ", number);
    } while (number > 10);
}

每次在循環中創建一個新number ,該number僅在循環中可見,而與循環外的數字無關。 int number = number / 2;刪除int int number = number / 2;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM