/*
  This code is a demonstration that C reuses memory for local variables.
  If you know exactly which functions will be running, you can do a 
  cute demo where you know what value "unitialized" local variables will have.
 */

#include <stdio.h>

void set_zero() {
  int x = 0;
}

void inc() {
  int y; y++;
}

void dec() {
  int z; z++;
}

int val() {
  int w;
  return w;
}

int main(int argc, char * argv[]) {

  printf("setting to 0\n"); set_zero();
  printf("value is %d\n", val());
  
  printf("inc twice\n");
  inc(); inc();
  printf("value is %d\n", val());
  
  printf("dec once\n");
  dec();
  printf("value is %d\n", val());
  return 0;
}