删除“if”语句的大括号是否有任何例外?

2024-04-13

我是一名计算机科学专业的学生,​​前段时间我们的教授向我们解释说,在 C 语言中,当只有一个语句时,我们可以删除大括号,例如:

if (a)
  do b

但我们不能这样做:

if(a)
  do b
  do c

因为那会做不止一个声明。

但它也告诉我们,删除大括号是有例外的,即使只有一个语句,我们也无法做到这一点。我做了很多搜索,但我发现的唯一一件事是我不能在 do-while 循环中做到这一点,但我们正在讨论 if 语句,有什么帮助吗?

编辑:我们还讨论了嵌套的 if 语句,也许就是这个?


您教授可能正在谈论这样的情况:

if (a)
    if (b)
        printf("a and b\n");
else  // this goes with the inner "if"
    printf("not a\n");

与缩进所暗示的相反,else与外部没有关联if声明但带有内在if陈述。在这种情况下,您需要将花括号添加到外部的主体中if为了else正确关联:

if (a) {
    if (b)
        printf("a and b\n");
}
else
    printf("not a\n");

最好始终对条件和循环结构的主体使用大括号,以防止这种歧义以及随之而来的错误。

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

删除“if”语句的大括号是否有任何例外? 的相关文章

  • 如何使用 Qtimer 添加 1 秒延迟

    我目前有一个方法如下 void SomeMethod int a Delay for one sec timer gt start 1000 After one sec SomeOtherFunction a 这个方法实际上是一个附加到信号
  • 实体框架 - 循环更新属性

    我正在尝试找到一种方法来循环 EF 对象的属性并更新这些属性的值 更具体地说 我有 50 个字段 其中最多填充 50 个下拉列表 所有 50 个可能都需要填充 也可能不需要填充 为了解决这个问题 我有一个中继器 最多可以创建 50 个 DD
  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 将数组从 C# 编组到 C++ 并返回:PInvokeStackImbalance

    我有一个 C 函数 我想从 C 访问它 问题是我不断收到 PInvokeStackImbalance 异常 但我不知道为什么 当检查异常被关闭时 一切都运行良好并且符合预期 我的 C 函数的签名是 extern C double solve
  • VBA 中的 VSTO:AddIn.Object 有时不返回任何内容 (null)

    Given VSTO 插件 An override object RequestComAddInAutomationService 它返回一个名为的类的实例Facade在我的场景中 Excel 2007 中的 VBA 宏可访问AddIn O
  • WPF MVVM将DataTable绑定到DataGrid不显示数据

    我有一个简单的控件 其中包含一个 DataGrid 其中 ItemsSource 绑定到 DataTable 当我填充 DataTable 时 我可以看到 DataGrid 中添加了行 但没有显示任何数据 我没有为此 DataGrid 使用
  • 无法使用 Unity 函数在 Visual Studio Code 中获得完整的 Intellisense

    好吧 我知道这个问题已经被问过并回答过很多次了 但我花了大约 3 天的时间试图解决这个问题 但到目前为止我所做的一切都没有奏效 我基本上在 Visual Studio Code 中有部分智能感知 也就是说 它似乎只识别 Unity 类和变量
  • 无法更新 .mdf 数据库,因为该数据库是只读的(Windows 应用程序)

    我使用 C 创建了一个数据库 Windows 应用程序 我的应用程序在 Windows XP 上成功运行 但在 Vista 或 Windows 7 系统上无法正确执行 我的应用程序显示类似以下内容的消息 无法更新 mdf 数据库 因为该数据
  • Code First - 实体框架 - 如何公开外键

    我有以下数据对象 public class Customer System Data Entity ModelConfiguration EntityTypeConfiguration
  • 使用 Thread.Sleep() 时,异步编程如何与线程一起工作?

    假设 前言 在之前的问题中 我们注意到Thread Sleep阻塞线程参见 什么时候使用Task Delay 什么时候使用Thread Sleep https stackoverflow com questions 20082221 whe
  • 是否可以用 C# 为 Android 编写应用程序?

    我们都知道Android运行Dalvik VM程序 通常开发人员用 Java 编写程序并将其编译为 Dalvik 字节码 我想知道是否有可能创建一个可以接受 C 代码并将其编译为 Dalvik 字节码的编译器 嗯 这是一种选择 或者您可以在
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • 未定义条件编译符号

    我无法让 Visual Studio 按照我的预期运行 我创建了 2 个配置文件 一个定义了符号 FOO 另一个定义了符号 BAR 我有这个代码 static class MyClass if FOO public static strin
  • 发生错误。", ExceptionMessage: "提供的 'HttpContent' 实例无效

    尝试将文件添加到 http 休息调用时出现此错误 responseJson 消息 发生错误 ExceptionMessage 提供了无效的 HttpContent 实例 它确实 正在使用 多部分 参数名称 内容 异常类型 System Ar
  • 允许 .NET WebApi 忽略 DOCTYPE 声明

    我正在尝试通过 WebApi 方法将 XML 反序列化为对象 我有以下课程 XmlRoot IsNullable false public class MyObject XmlElement Name public string Name
  • 如何在 Xamarin.Mac 中执行终端命令并读入其输出

    我们正在编写一个 Xamarin Mac 应用程序 我们需要执行像 uptime 这样的命令 并将其输出读取到应用程序中进行解析 这可以做到吗 在 Swift 和 Objective C 中都有 NTask 但我似乎无法在 C 中找到任何示
  • 选择要重写哪个基类的方法

    鉴于以下情况 class Observer public virtual void Observe Parameter p 0 template
  • gcc 中的“假设”子句

    gcc 最新版本 4 8 4 9 是否有类似于以下的 假设 子句 assume 内置icc支持吗 例如 assume n 8 0 从 gcc 4 8 2 开始 gcc 中没有 assume 的等效项 我不知道为什么 这会非常有用 马夫索建议
  • 更新插入 MongoDB 时如何防止出现“_t”字段?

    我有一个应用程序 它使用 MongoDB 的 C 驱动程序将 Upsert 插入 MongoDB 数据库 当我打电话给Update函数 我无法指定我要更新的类型 然后 t字段插入元素的类型 这是我用来更新插入的代码 collection U
  • 父窗体中的居中消息框[重复]

    这个问题在这里已经有答案了 有没有一种简单的方法可以在 net 2 0中将MessageBox居中于父窗体中 我在 C 中确实需要这个并发现中心消息框 C http bytes com topic c sharp answers 26712

随机推荐

  • Bootstrap 4 多个固定顶部导航栏

    Bootstrap 4 中是否可以有多个固定顶部导航栏相互显示 1 目前覆盖了另一个 这不是我想要的 是的 这是可能的 但你必须相应地定位第二个 导航栏的高度约为 56 像素 fixed top 2 margin top 56px body
  • 阿迪和苏比之间到底是什么“关系”?

    我应该回答这个问题 经过一番研究后发现 add 和 sub 具有相同的操作码 仅在功能领域有所不同 这是答案还是其他什么 Update Nios II CPU 手册中提供了它 subi subtract immediate Operatio
  • 如何配置 jshint 才不会出现错误“之前换行错误”?

    它给了我错误 之前的错误换行 因为我有如下代码 var one 1 two 2 three 3 如果我把 在行的末尾而不是下一行的开头 它不会抱怨 但我想这样编码 有什么办法可以让它不显示此警告吗 我虽然看了JSHint 的选项 http
  • 使用 MediaCodec 截断视频

    我使用Android MediaCodec库对视频文件进行转码 主要是改变分辨率示例代码在这里 https stackoverflow com questions 29943121 mediamuxer video compression
  • sc.textFile 之后的 zipWithIndex 会给出正确的行号吗?

    说如果我这样做 如下所示 val rdd sc textFile someFile txt val rddWithLines rdd zipWithIndex zipWithIndex 添加的索引是否对应于输入文件中的行号 第一行当然是 0
  • Powershell:递归替换目录的选择子文件中的字符串

    我在 Windows XP 上使用 Powershell 并尝试编写一个命令来 1 read all bat cfg and config files 2 replace a string it s actually the path th
  • 尝试对变量列表进行所有操作组合

    我有一个值列表 例如 values 1 2 3 4 我想尝试此列表中的所有组合 例如 1 2 1 3 1 4 1 2 1 3 1 4 1 2 3 1 2 4 1 3 4 etc 以最简洁的方式获得所有这些可能的操作组合的最直接的方法是什么
  • Mongodb子文档之间的多对多关系

    TL DR 想象一下第一个 match 阶段给了你几个文档 但你想要refine他们在里面 就像 redact做 但问题是你的子文档有关系 而你想要 where就像他们之间的检查一样 怎样才能做到这一点呢 我无法 unwind 因为它会导致
  • RxJava 中的 n 元笛卡尔积

    现在我持有一个Observable
  • 算术恒等式和 EFLAGS

    因为 x not x 1 意味着 a b a not b 1 那么 sub rax rcx 相当于 mov temp rcx not temp add rax temp add rax 1 其中 temp 是一些被认为是易失性的寄存器 换句
  • 在“UITableView”中选择行时调用新视图

    我目前正在编写我的第一个 iPhone 应用程序 但遇到了问题 我有一个包含 UITableView 的视图 这是我第一次尝试这样做 这是我试图实现的行为 当用户选择其中一行时 我希望调用一个新视图 将用户带到另一个页面 显示参考他们选择的
  • iOS 16 FairPlay 变化

    FairPlay 逻辑有任何变化吗 我的应用程序具有受 FairPlay 保护的视频和音频 它们在 iOS 15 7 之前完美运行 但在 iOS 16 中 makeStreamingContentKeyRequestData is thro
  • 如何通过 JavaScript 文件将所有 JavaScript 文件包含在目录中?

    我有一堆 JavaScript 文件 我想将它们包含在页面中 但我不想继续编写 那么有没有办法包含目录中的所有文件 大小未知 我可以做一些像 getScript js js 获取 js 目录中的所有 JavaScript 文件 我怎样才能使
  • 访问网络驱动器上的文件

    背景 我有一个必须从网络驱动器 Z 上的文件读取的应用程序 这在我的办公室域中工作得很好 但是它在现场 在不同的域中 不起作用 据我所知 域用户和网络驱动器的设置方式相同 但是我无权访问客户域中的用户等 当我无法访问网络驱动器时 我想我需要
  • 如何使用Android 4.4中出现的ImageReader?

    Android 4 4 Kit Kat 推出了图像读取器 http developer android com reference android media ImageReader html用于访问 Surface 中的图像的类 对于实时
  • 如何在 Rails 应用程序的数据库/模型中存储营业时间?

    我正在创建一个 Rails 应用程序 它将存储企业的营业时间和营业时间 最初 我想到简单地使用文本数据类型并使其成为自由格式 Monday to Friday 9am to 5pm Saturday 11am to 4pm Closed S
  • 无法在 urllib.request 中使用 https 代理

    我使用 python 创建了一个脚本urllib request申请https其中的代理 我尝试过如下操作 但遇到了不同类型的问题 如urllib error URLError
  • 如何为独立的 Illuminate IoC 容器创建 Illuminate/Support/Facade/App Facade

    在我的独立 没有 Laravel 项目中 我想使用 Illuminate IoC 容器 我还想通过访问应用程序容器App外观由提供illuminate support成分 我安装了这两个组件 v5 0 28 这是我的 简化的 代码 func
  • 从扩展类调用时,groovy 中的闭包不能使用私有字段

    我有一个 groovy 课程 其中有一个私有字段和一个方法 在该方法中 我调用 http 服务 并在其中传递一个闭包来处理响应 像这样的事情 class WebUiRestRequestSender private String jSess
  • 删除“if”语句的大括号是否有任何例外?

    我是一名计算机科学专业的学生 前段时间我们的教授向我们解释说 在 C 语言中 当只有一个语句时 我们可以删除大括号 例如 if a do b 但我们不能这样做 if a do b do c 因为那会做不止一个声明 但它也告诉我们 删除大括号