 <p>You guessed it right when you thought <code>temp[0]</code> equals <code>a</code> and <code>temp[1]</code> equals <code>b</code>. But wait why are you going beyond that like you are trying to dereference something like <code>temp[2]</code>? You did not initialize this thing right!</p> <p>Your program causes <code>undefined behaviour</code> by accessing memory past the end of the array. The compiler is not always obliged to give you an error message. Check <a href="http://stackoverflow.com/questions/9137157/c-no-out-of-bounds-error">this</a> question.</p>