首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么do中的int数字(while number > 10)会产生无限循环?

为什么do中的int数字(while number > 10)会产生无限循环?
EN

Stack Overflow用户
提问于 2018-01-18 16:15:06
回答 1查看 103关注 0票数 0

在我的理解中,while应该结束循环,导致int number " In“循环应该用0初始化它。还是我错了?但它给了我一个无尽的循环,打印零。我和gcc一起编译,并尝试用gdb进行调试。while不会停止循环,这对我来说是没有意义的。

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-18 16:18:21

每次在循环中都会创建新的number,它只在循环内可见,与循环外的and无关。在int number = number / 2;中删除int

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48316588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档