I found this code in page no. 127 of [this Book](http://www.slideshare.net/olvemaudal/deep-c) writer says it print 42. But when i try this it prints some garbage value. Why this is so?

```
    #include <stdio.h>
    void foo()
    {
        int a ;
        printf("%d \n", a);
    }

    void bar()
    {
        int a = 42;
    }

    int main()
    {
        bar();
        foo();
        return 0;
    }

```