Source of scope1.cpp


  1: //scope1.cpp
  2: //Illustrates scopes and declarative regions.

  4: #include <iostream>
  5: using namespace std;

  7: #include "utilities.h"
  8: using Scobey::Pause;

 10: int i = 1; //1  This i has global scope.

 12: int main()
 13: {
 14:     int i = 3; //2  This i is local to main.

 16:     cout << endl << i << endl;
 17:     Pause(0, "", 1);
 18:     {
 19:         cout << i << endl;
 20:         Pause(0, "", 2);

 22:         i = 5; //3  This i is not local to this block.
 23:         cout << i << endl;
 24:         Pause(0, "", 3);

 26:         int i = 7; //4  This i is local to this block.
 27:         cout << i << endl;
 28:         Pause(0, "", 4);
 29:     }
 30:     cout << i << endl;
 31:     Pause(0, "", 5);
 32: }

 34: /*
 35: Questions:
 36: 1. What values are output?
 37: 2. What values are output if statement //1 is commented out?
 38: 3. What values are output if statement //2 is commented out?
 39: 4. What values are output if statement //3 is commented out?
 40: 5. What values are output if statement //4 is commented out?

 42: Answers:
 43: 1. 3 3 5 7 5
 44: 2. 3 3 5 7 5
 45: 3. 1 1 5 7 5
 46: 4. 3 3 3 7 3
 47: 5. 3 3 5 5 5
 48: */