C++ compilers always associate an else with the immediately preceding if unless told to do otherwise by the placement of braces ({ and }). This behavior can lead to what is referred to as the dangling-else problem. The indentation of the nested statement
```
if (x > 5)
if (y > 5)
cout << "x and y are > 5";
else
cout << "x is <= 5";
```
appears to indicate that if x is greater than 5, the nested if statement determines whether y is also greater than 5. If so, the statement outputs the string "x and y are > 5". Otherwise, it appears that if x is not greater than 5, the else part of the if…else outputs the string "x is <= 5". Beware! This nested if…else statement does not execute as it appears. The compiler actually interprets the statement as
```
if (x > 5)
if (y > 5)
cout << "x and y are > 5";
else
cout << "x is <= 5";
```
in which the body of the first if is a nested if…else. The outer if statement tests whether x is greater than 5. If so, execution continues by testing whether y is also greater than 5. If the second condition is true, the proper string—"x and y are > 5"—is displayed. However, if the second con- dition is false, the string "x is <= 5" is displayed, even though we know that x is greater than 5. Equally bad, if the outer if statement’s condition is false, the inner if…else is skipped and noth- ing is displayed. For this exercise, add braces to the preceding code snippet to force the nested if…else statement to execute as it was originally intended.
```
if (x > 5) {
if (y > 5) {
cout << "x and y are > 5";
}
}
else {
cout << "x is <= 5";
}
```
You might also like to view...
Name the organizational scheme used in each of the following examples. Justify your answer.
This is an image of a map, which makes this a geographical organization scheme.
Why is it important to ensure a form's tab order is logical?
What will be an ideal response?
What feature automatically evaluates the contents of two or more documents and displays markup balloons that show the differences between the documents?
A) Compare B) Contrast C) Evaluate Differences D) Markup Editing
Among the many ways you can align an object on a slide is to use rulers; with precise measurements you can insert a shape in the same location in multiple slides.
Answer the following statement true (T) or false (F)