if-else Statement (C++)

 

The latest version of this topic can be found at if-else Statement (C++).

Controls conditional branching.

Syntax

  
      if ( expression )  
   statement1  
[else  
   statement2]  

Remarks

If the value of expression is nonzero, statement1 is executed. If the optional else is present, statement2 is executed if the value of expression is zero. expression must be of arithmetic or pointer type, or it must be of a class type that defines an unambiguous conversion to an arithmetic or pointer type. (For information about conversions, see Standard Conversions.)

In both forms of the if statement, expression, which can have any value except a structure, is evaluated, including all side effects. Control passes from the if statement to the next statement in the program unless one of the statements contains a break, continue, or goto.

The else clause of an if...else statement is associated with the closest previous if statement in the same scope that does not have a corresponding else statement.

For this sample to be unambiguous about if...else pairing, uncomment the braces.

Example

// 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;  
}  
x is 0!  
x is not 0!  

See Also

Selection Statements
Keywords
switch Statement (C++)