The value of a condition that is an expression is the value of the expression. If a condition can be syntactically resolved as either an expression or the declaration of a local name, it is interpreted as a declara tion. If it yields true the first substatement is executed. If the else part of the selection statement is present and the condition yields false , the second substatement is executed. The switch statement causes control to be transferred to one of sev eral statements depending on the value of a condition.
Integral promotion is performed.
No two of the case constants in the same switch shall have the same value after conversion to the pro moted type of the switch condition. When the switch statement is executed, its condition is evaluated and compared with each case constant. If one of the case constants is equal to the value of the condition, control is passed to the state ment following the matched case label. If no case constant matches the condition, and if there is a default label, control passes to the statement labeled by the default label. If no case matches and if there is no default then none of the statements in the switch is exe cuted.