根据我的理解,while应该结束循环,原因 int数字“in”循环应该用0初始化它。 或者我错了?但它给了我一个无限循环,打印零。 我用gcc编译它并尝试用gdb调试它。 对我来说没有意义,因为while不会阻止循环。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int number = 20;
do
{
int number = number / 2;
printf("%d ", number);
} while (number > 10);
}
答案 0 :(得分:8)
每次在循环中创建新的number
,仅在循环内可见,与循环外的那个无关。移除int
int number = number / 2;