首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >while循环嵌套在while循环中

while循环嵌套在while循环中
EN

Stack Overflow用户
提问于 2013-05-17 01:48:55
回答 7查看 46.4K关注 0票数 2

我使用了一个嵌套的while循环,但遇到了一个问题,因为内部循环只运行一次。为了演示我已经做了一些测试代码。

代码语言:javascript
复制
#include <stdio.h>
int main(){
  int i = 0;
  int j = 0;
  while(i < 10){
    printf("i:%d\n", i);
    while(j < 10){
      printf("j:%d\n", j);
      j++;
    }
  i++;
  }
}

这将返回:

代码语言:javascript
复制
i:0
j:0
j:1
j:2
j:3
j:4
j:5
j:6
j:7
j:8
j:9
i:1
i:2
i:3
i:4
i:5
i:6
i:7
i:8
i:9

有人能解释一下为什么嵌套循环不执行10次吗?我能做些什么来修复它呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-05-17 01:51:05

您永远不会将j的值重置为0,因此,在第一次运行后,您的内部循环条件永远不会为真。之后在外部循环中分配j = 0;应该可以解决这个问题。

票数 12
EN

Stack Overflow用户

发布于 2013-05-17 01:51:39

因为您不会在外部循环的每次迭代中重置它。如果您希望内部循环也运行十次,请将j变量的初始化放在外部循环中,如下所示:

代码语言:javascript
复制
int i = 0;
while (i < 10) {
    printf("i:%d\n", i);
    int j = 0;
    while (j < 10) {
        printf("j:%d\n", j);
        j++;
    }
    i++;
}
票数 4
EN

Stack Overflow用户

发布于 2013-05-17 01:51:28

在内部循环完成后,您需要将值j重新设置为0

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

https://stackoverflow.com/questions/16594148

复制
相关文章

相似问题

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