C 语言 - 嵌套 if

嵌套 if

您也可以将一个 if 语句放在另一个 if 语句内部。这被称为嵌套 if 语句。

嵌套 if 允许您仅在另一个条件为真时检查某个条件。

语法

if (条件 1) {
  // 如果条件 1 为真,则运行此处的代码
  if (条件 2) {
    // 如果条件 1 和条件 2 都为真,则运行此处的代码
  }
}

实例

在此例中,我们首先检查 x 是否大于 10。如果是,则接着检查 y 是否大于 20:

int x = 15;
int y = 25;

if (x > 10) {
  printf("x is greater than 10\n");

  // Nested if
  if (y > 20) {
    printf("y is also greater than 20\n");
  }
}

结果:

x is greater than 10
y is also greater than 20

亲自试一试

实际应用示例

当您需要测试相互依赖的多个条件时,嵌套 if 语句非常有用。例如,检查一个人是否已达到投票年龄,以及他们是否是该国公民:

实例

int age = 20;
bool isCitizen = true;

if (age >= 18) {
  printf("Old enough to vote.\n");

  if (isCitizen) {
    printf("And you are a citizen, so you can vote!\n");
  } else {
    printf("But you must be a citizen to vote.\n");
  } 
} else {
  printf("Not old enough to vote.\n");
}

结果:

Old enough to vote.
And you are a citizen, so you can vote!

亲自试一试

注意

您可以根据需要嵌套任意多个 if 语句,但应避免使代码嵌套过深 - 否则会变得难以阅读。

嵌套 if 通常与 elseelse if 结合使用,以进行更复杂的决策。