![]() |
![]() |
![]() |
![]() |
![]() |
|
Note the ambiguity in the following nested if
statement:
if (temperature > 25)
if (temperature < 50)
cout << "It is normal." << endl;
else cout << "It is too ?." << endl;
With what should you replace the question mark: warm
or cold? As laid out on the page, it seems that
warm is the right answer. Laid out another way,
however, you might have the impression that cold
is the right answer:
if (temperature > 25)
if (temperature < 50)
cout << "It is normal." << endl;
else cout << "It is too ?." << endl;
Because C++ pays no attention to layout, you need to know that
C++ assumes that each else belongs to the nearest
if that is not already matched with an else. Thus,
the question mark should be replaced by warm.