何时使用 for 循环而不是 while 循环?

2024-04-12

我们可以使用 for 循环和 while 循环来达到相同的目的。 如果我使用 for 而不是 while,它们会以什么方式影响我们的代码? if-else 和 switch-case 之间也会出现同样的问题吗?如何决定使用什么? 例如,您更喜欢哪一个?

这段代码:

int main()
{
   int n = 10;

   for(int i=0;i<n;i++)
    {
        do_something();
    }
    return 0;
}

或者这段代码:

int main()
{
    int n=10,i=0;

    while(i<n)
    {
          do_something();
          i++;
    }
    return 0;
}

如果使用 for 或 while 循环不会以任何方式影响代码,那么我可以知道需要为同一问题制定 2 个解决方案吗?


使用使代码意图最清晰的一种。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时使用 for 循环而不是 while 循环? 的相关文章

随机推荐

  • 为什么迭代器使用“!=”而不是“<”?

    我习惯这样写循环 for std size t index 0 index lt foo size index Do stuff with foo index 但是当我在其他人的代码中看到迭代器循环时 它们看起来像这样 for Foo It
  • Visual Studio 调试器:输入外部函数时中断?

    With 只是我的代码 http msdn microsoft com en us library h5e30exc aspx 关闭并且源位置 服务器 很容易进入代码中没有的函数 但是有没有办法在其中一个函数上设置断点 基本上 我想说 当从
  • 按名称从 css LESS 列表中提取项目

    如果我有一个不太像的列表 colors red f00 green 0f0 blue 00f 我知道我可以循环列表并获取颜色 但如果我想获取特定的颜色怎么办 说我想做 extract colors green 将 0f0 从列表中删除 有没
  • HTML5 Canvas 填充两种颜色

    我需要用两种颜色填充形状 就像棋盘一样 我见过一些 css 的渐变效果 但还没有见过这样的例子 这在 Html5 Canvas 中可能实现吗 你当然可以 事实上 您可以用任何可重复的东西填充任何任意形状 即使是您在画布本身中制作的形状 这是
  • 将内容添加到列表时保持滚动位置 (AngularJS)

    我一直在尝试使用以下方法将一些项目添加到可滚动容器内的列表中ng repeat 最近的应该位于列表的顶部 如果在添加内容时容器的滚动条不在最顶部 我还需要保持滚动位置 这是我的解决方案 但我仍然有问题 Angular 在 dom 中渲染了前
  • PNG 文件格式的 IDAT 块

    我目前正在开发一种基于 png 文件格式的专有文件格式 到目前为止我已经完成了 只是它不起作用 p 我实现的 deflate 解压缩器工作起来就像一个魅力 但 png 解码器不想很好地执行 所以我看了一下原始的 png 文件 该标准规定 在
  • 选择匹配的数组元素并返回选定的字段

    我想知道如何为 Mongoose 查询中匹配的对象数组设置投影 例如 如果我有一个 Mongoose 模型 如下所示 var User new Schema name String children Child var Child new
  • 如何按字母顺序对 NSArray 进行排序?

    如何对填充的数组进行排序 UIFont familyNames 按字母顺序排列 最简单的方法是提供一个排序选择器 苹果的文档 http developer apple com library mac documentation Cocoa
  • 如果我没有调用 Java Thread Interrupt() 方法,那么谁在调用它?

    我已经阅读并重新阅读了实践中的 Java 并发性 我已经阅读了有关该主题的几个线程 我已经阅读了 IBM 文章处理InterruptedException http www ibm com developerworks java libra
  • 使 www.example.com 和 example.com 使用相同会话变量的最佳方法?

    我正在处理一个网页 我们称之为 example com 并在 CNAME 别名 下添加了 DNS 记录 Host Record Points to TTL www example com 14400 但是 当我浏览 example com
  • 如何打开我的 options.html?目前我得到 Cannot read property 'create' of undefined

    xhr onreadystatechange function if this readyState this HEADERS RECEIVED chrome tabs create url chrome extension kgllckj
  • 如何在运行时将图像插入到 WPF RichTextBox 的文本之间,以便文本漂浮在图像周围

    我正在尝试在运行时将图像插入到 WPF RichTextBox 中的文本之间 以便文本浮动 我尝试使用浮动框 但最终结果是图像旁边只能设置一行 其余内容会移到底部 这是我迄今为止用于插入图像的代码 private Image SelectI
  • Kotlin:如何让Android Studio在类底部实现接口的功能

    在 Kotlin 类中实现接口时 当我在 ClassName 上按 Alt Enter 时 我可以让 IDE 通过 实现成员 添加接口的功能 在 Kotlin 中 这些函数被添加到类的顶部 这有点烦人 我希望将它们添加到类的末尾 就像在 J
  • Python 中的简单用户名和密码应用程序

    我正在尝试使用字典构建一个简单的登录和密码应用程序 它工作正常 除了检查登录是否与密码匹配的部分 在底部显示 登录成功 如果我要创建登录名 a 和密码 b 然后创建登录名 b 和密码 a 那么如果我尝试使用登录名 a 和密码 a 登录 它就
  • 使用 blob 创建 json 文件

    我已经在字符串中编写了 json 代码 我想使用 xmlhttp 作为 json 文件发送它 可以用 blob 来做吗 var cleanScript type script api key api key data data inputs
  • 修改android中的光标列值

    我有一个从 SQLiteDataBase 对象返回的游标 我可以使用 getXXX 从光标获取列的内容 但在我的情况下 我想使用修改光标中的 更新 数据setXXX 方法 我知道没有setXXX 方法 但 CursorWindow 对象具有
  • 使用 strcpy 到 mmap 文件时出现总线错误(核心转储)

    我有一个简单的程序 int main void int fd const char text This is a test fd open tmp msyncTest O CREAT O TRUNC O RDWR S IRWXU S IRW
  • 如何使用 PHP 发送电子邮件?

    我在网站上使用 PHP 并且想添加电子邮件功能 I have Wamp服务器 https en wikipedia org wiki WampServer安装 如何使用 PHP 发送电子邮件 使用 PHP 是可以的mail http php
  • Google 图表调用 onmouseover 事件

    我一整天都在研究这个问题 但没有成功 我有一个显示一些数据的谷歌图表 工作得很好 我一直在研究更详细的图表 包括大约十几个图表图例项目 我想在图表下方显示我的图例 因此我将其位置设置为底部 但图表生成的 丑陋 分页对我的经理来说并不真正有吸
  • 何时使用 for 循环而不是 while 循环?

    我们可以使用 for 循环和 while 循环来达到相同的目的 如果我使用 for 而不是 while 它们会以什么方式影响我们的代码 if else 和 switch case 之间也会出现同样的问题吗 如何决定使用什么 例如 您更喜欢哪