Example of Global Variables

#include <stdio.h>

int numTimesCalled;
int error;

int power(int x, int n)
{
   int p;

   numTimesCalled++;

   if ( ( n < 0 ) || ( ( n == 0 ) && ( x == 0 ) ) )
     {
     error = 1;
     return 0;
     }

   for ( p = 1; n > 0; n-- )
      {
      p = p * x;
      }

   return p;
}



int main()
{
  int i;

  numTimesCalled = 0;
  error = 0;

  for ( i = 0; i < 10; i++ )
     {
     printf( "%d %d %d %d\n", 
             i, power(2,i), power(-3,i), power(i,i) );
     }

  if ( error != 0 )
    {
    printf( "An error occured.  Some of the above numbers are invalid.\n" );
    }
  else
    {
    printf( "power was called %d times.\n", numTimesCalled );
    }


  return 0;
}

Next Slide