Оператор if-else (C++)

Управляет условным ветвлением.

if ( expression )
   statement1
[else 
   statement2]

Заметки

Если значение параметра выражение не равно нулю, то выражение1 выполняется. Если имеется необязательный оператор else, то параметр выражение2 выполняется, если значение параметра выражение равно нулю. Выражение должно иметь арифметический тип или тип указателя, либо оно должно быть типом класса, который определяет однозначное преобразование в арифметический тип или тип указателя. (Дополнительные сведения о преобразованиях см. в разделе Стандартные преобразования.)

В обеих формах оператора if вычисляется параметр выражение (который может иметь любое значение, за исключением структуры), включая все побочные эффекты. Управление от оператора if передается следующему оператору в программе, кроме случаев, когда в параметре выражение содержится оператор break, continue или goto.

Условие else в операторе if...else связывается с ближайшим предыдущим if в той же области видимости, для которого нет соответствующего условия else.

Для того чтобы следующий пример не содержал противоречий касательно пар if...else, необходимо убрать комментарии перед фигурными скобками.

Пример

// if_else_statement.cpp
#include <stdio.h>

int main() 
{
   int x = 0;
   if (x == 0)
   {
      printf_s("x is 0!\n");
   }
   else
   {
      printf_s("x is not 0!\n"); // this statement will not be executed
   }
   
   x = 1;
   if (x == 0)
   {
      printf_s("x is 0!\n"); // this statement will not be executed
   }
   else
   {
      printf_s("x is not 0!\n");
   }

   return 0;
}
  

См. также

Ссылки

Операторы выбора (C++)

Ключевые слова в C++

Оператор switch (C++)