#include <stdio.h>
#include <omp.h>

int main ()
{
  int shared_var;
  int var = -1;
  printf ("shared:%p private:%p %d\n", &shared_var, &var, var);
  #pragma omp parallel private(var)
  {
    var = omp_get_thread_num ();
    printf ("%2d:   shared:%p private:%p %d\n",
            omp_get_thread_num (), &shared_var, &var, var);
  }
  printf ("shared:%p private:%p %d\n", &shared_var, &var, var);
  return 0;
}