[英]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.