c - else 语句遵循什么顺序?

标签 c if-statement conditional-statements

我想确定一些事情,

当我有多个 if/else条件和if并不意味着 else其中之一的条件 if状况;做下一个 else声明适用于最后if声明?

例如:

if(condition1)
{
    //operation1
}

if(condition2)
{
    //operation2
}

else
{
    //operation3.  
}

像上面的例子,如果我不使用 else对于第一个if声明,其中 if声明这样做 else为。。。工作?如果我不指定 else,这会对我造成问题吗?对于每个 if

我做了一些测试,但想确定它实际上是如何工作的。

最佳答案

来自Standard, p 6.8.4.1

An else is associated with the lexically nearest preceding if that is allowed by the syntax.

因此,在您的示例中,else 属于第二个 if(具有 condition2 的那个)。

关于c - else 语句遵循什么顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699053/

相关文章:

c++ - 简单的 if 语句在应该评估时未评估为真

java - 为什么加起来是 11 而不是 8?

java - 多个 if 语句

MySQL 条件 "ON"语句

python - Python 中的字典是否提供了制定类似 switch 语句的最佳方式?

Python将 "met conditional value"移到循环之外

c - 这个构造是什么意思 "__builtin_expect(!!(x), 1)"

c++ - 是否有 itoa 版本返回写入缓冲区的字符数?

c - 我用 c 编写了这个凯撒密码程序,但每次运行它都会崩溃

c++ - 在动态分配的结构中使用 std::string 时出现段错误