【问题标题】:Can I use multiple whiles within a while loop?我可以在一个while循环中使用多个while吗?
【发布时间】:2023-04-03 00:35:02
【问题描述】:
while (...) 
{
    while (...)  
    {   ......
    }

    while (...) 
    {   ......
    }

    while (...) 
    {   ......
    }
}

我可以这样写代码吗?

我可以在 C 语言的 while 循环中使用多个 whiles 吗?

(我现在没有笔记本电脑,所以我无法自己测试。)

【问题讨论】:

  • 欢迎来到 SO。你为什么不自己试试呢?循环的使用没有限制。
  • 简单的答案是YES。你可以在Ideone中测试它。它是一个在线编译器和IDE。
  • @bub “自己尝试”是 C 语言中的一种危险哲学......此外,说“没有限制”有点违背 C 标准中标题为 "5.2.4.1 Translation Limits" 的部分的目的,不是吗?
  • 是的。但要注意性能!
  • 感谢大家的帮助!

标签: c while-loop nested-loops


【解决方案1】:

是的,当然可以。试一试:-)。

一个例子:

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

int main(void) {
  int i = 0, j = 0;

  while (i < 10) {
    while (j < i) {
      printf("%d\n", j);
      j++;
    }
    i++;
  }
  exit(0);
}

这不是一个非常有用的程序。只是为了说明原理。

【讨论】:

  • 这是一个令人鼓舞的意思。作者走在正确的轨道上。如果他们在笔记本电脑上尝试一下,他们会发现它可以工作。
  • 感谢您的帮助!
【解决方案2】:

是的。循环通常用途广泛。您可以随意嵌套它们。但是,不涉及多线程,一次只能执行一个循环。

您的代码将执行第一个子循环,直到满足条件,然后执行第二个子循环,然后执行第三个子循环,然后如果主循环仍然为真,它将返回第一个子循环,依此类推。它不会同时执行所有三个操作。

【讨论】:

  • 我可以随心所欲地使用它们,嗯?我不确定...这是否意味着我决定在 C 世界中什么是有效的,什么是无效的?
  • 抱歉,打错了。您可以随意嵌套它们。
  • 感谢您的帮助!
猜你喜欢
  • 2019-11-01
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多