“while”和“for”循环的范围是什么?

2023-11-29

a的范围是什么while and for loop?

例如,如果我在循环中声明了一个对象,它的行为是什么以及为什么?


在以下示例中,循环的每次迭代都会销毁并重新创建所有变量,除了i,它在循环迭代之间持续存在,并且可用于 for 循环中的条件表达式和最终表达式。循环外部没有任何变量可用。 for 循环体内变量的销毁发生在i是递增的。

while(int a = foo()) {
    int b = a+1;
}

for(int i=0;
    i<10;     // conditional expression has access to i
    ++i)      // final expression has access to i
{
    int j = 2*i;
}

至于为什么;循环实际上采用单个语句作为其主体,只是碰巧有一个由花括号创建的称为复合语句的语句。在任何复合语句中创建的变量的范围仅限于复合语句本身。所以这确实不是循环的特殊规则。

对于作为循环或选择语句本身的一部分创建的变量,循环和选择语句确实有自己的规则。这些只是根据设计师认为最有用的东西来设计的。

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

“while”和“for”循环的范围是什么? 的相关文章

  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 用 C 实现 Unix shell:检查文件是否可执行

    我正在努力用 C 语言实现 Unix shell 目前正在处理相对路径的问题 特别是在输入命令时 现在 我每次都必须输入可执行文件的完整路径 而我宁愿简单地输入 ls 或 cat 我已经设法获取 PATH 环境变量 我的想法是在 字符处拆分
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 如何将替代文本添加到背景图像?使背景图像易于访问

    我有一个网站 它使用以下方式将许多图像显示为背景图像background size cover调整它们的大小以完全填充元素 同时裁剪掉图像中不适合的任何部分 问题是这些图像并不纯粹是装饰性的 它们是页面信息内容的关键部分 这意味着他们需要a
  • Android 编程和框架/IDE 使用?

    我对 Android 编程很陌生 我主要是一个 NET 人员 我在 Windows Phone 上做过几个项目 我对 MVVM 模式 C 等感到非常满意 然而 我想进入Android开发 因为它是一个重要的平台 我想知道什么是最好的免费方法
  • 使用 r 进行微分

    我是使用 R 或任何类型的编程的新手 我正在尝试区分 3xcos xy 和 x 我尝试了四种不同的方法 想知道哪一种是最好 正确的 D expression 3 x cos xy x D expression 3 x cos xy x D
  • 为什么 put() 不打印一行?

    这是一段代码 def add a b a b end print Tell number 1 number1 gets to f print and number 2 number2 gets to f puts number1 numbe
  • 日期的 JSON 序列化策略

    我遇到的问题是我有一些消费者是Java 一些消费者是浏览器 我的目标浏览器是 IE7 json3 仅适用于 IE7 和 Chrome 对于浏览器 我希望将日期反序列化为DateJavaScript 对象 使用JSON parse 方法 对于
  • 浏览器 JavaScript 中的 new Date().getTime() 是否总是产生 UTC?

    我可以依赖 Date getTime 始终给出 UTC 毫秒数 还是取决于用户的浏览器设置 位置 系统时区 Date getTime 始终返回自纪元以来所有时区同时经历的毫秒数 该格式的日期没有时区 仅在显示期间使用 例如 对于var da
  • 如何在一列中搜索具有多个参数的LINQ?

    例如有这张表 Name BodyType John 1 Ted 2 Daniel 3 George 4 在我的应用程序中 我选中 1 2 和 3 复选框 我应该找到 3 行 约翰 泰德 丹尼尔 而不是乔治 我如何在 LINQ 中获取此查询
  • 按单位和百分比排列的堆积条形图

    Summary 我想显示一个条形图 其维度为天 堆叠类别为另一个 即 x 轴 天且堆栈 类别 1 但是 我不是显示每个组 堆栈的简单数量总和 而是显示想要显示一天的百分比 JSFiddle https jsfiddle net wostoj
  • python3 中抽象属性的强制执行

    我有这个抽象类 class Kuku ABC def init self self a 4 property abstractmethod def kaka self pass kaka是一个抽象属性 所以我希望 python 强制它成为继
  • 从一行中选择前 n 个元素并取其平均值

    我有一个代表资产回报的数据 我想从每行中选择前 N 个资产并计算所选资产的平均回报率 详细来说 我想创建一个函数 它可以从一行中选择不同的元素 并对这些元素进行平均 就像从第一行开始 我想根据排名选择前 3 个元素并计算它们的平均值 从第二
  • 如何使用 Font Awesome 的数据属性?

    我想转换一个rel内容到 Font Awesome CSS 图标中 这样我就不必为一个简单的菜单编写 20 行 也许一些代码会让它更容易理解 我尝试这样做 a before content attr rel font family Font
  • kendo UI网格弹出编辑器模板验证未选取模型验证规则

    当您在未使用模板的网格中单击 编辑 时 您为 schema Model 定义的验证规则将得到正确应用 但如果您使用自定义模板 则不会应用 schema Model 验证规则 我怀疑答案是因为我使用自定义弹出编辑模板以便我可以有一个下拉列表
  • 交换链表的相邻元素

    下面是我的代码 用于递归交换链表的相邻元素 交换后我失去了指向每个第二个元素的指针 输入是 1 gt 2 gt 3 gt 4 gt 5 gt 6 gt 7 我期望输出 2 gt 1 gt 4 gt 3 gt 6 gt 5 gt 7 但我的输
  • 如何在 Flutter 中保持每 5 秒更换一张图像?

    状态变量 var moviePhotos http www kiwithebeauty com wp content uploads 2017 11 BLACK PANTHER COLLAGE KIWI THE BEAUTY MOVIE M
  • 导入 google play 服务后 Cordova 构建问题

    在admob SDK新更新后 现在我们需要将google play服务项目导入到我们的项目中 以在我们的应用程序中获利并展示广告 我正在使用 Apache Cordova Phonegap 创建一个应用程序 并用它创建了 android 项
  • 为什么同一层上的文本会重叠 - 即使它具有不透明的背景?

    我知道我可以通过使用相对 绝对定位创建新的堆叠上下文来将元素堆叠在单独的层中 Demo 或不透明度 Demo 然而 我的印象是 默认情况下 html 中更靠下的元素将绘制在前面的元素之上 显然 元素的背景是如此 但我只是注意到文本的工作方式
  • 执行脚本IntrinsicYuvToRgb

    我想将Yuv中的byte 转换为Rgb中的byte ScriptIntrinsic ScriptIntrinsicYuvToRgb 应该执行此操作 基于此example 这是我现在拥有的一些代码 byte imageData gathery
  • 仅当选择 ListViewItem 时显示内容

    我有一个ListBox当其中之一ListBoxItems被选中我想更改按钮 查看 的可见性并显示它 这意味着默认状态是隐藏 这是否可能 如果可以 我是否使用 XAML 中的触发器或后面的代码来解决此问题 XAML 片段
  • 如何检查文件锁定? [复制]

    这个问题在这里已经有答案了 有没有办法在不使用 try catch 块的情况下检查文件是否被锁定 现在 我知道的唯一方法就是打开文件并捕获任何System IO IOException 当我遇到类似的问题时 我完成了以下代码 public
  • “while”和“for”循环的范围是什么?

    a的范围是什么while and for loop 例如 如果我在循环中声明了一个对象 它的行为是什么以及为什么 在以下示例中 循环的每次迭代都会销毁并重新创建所有变量 除了i 它在循环迭代之间持续存在 并且可用于 for 循环中的条件表达