The only logical explanation is:
Switch with "cases" is similar to an GOTO label, so when you b declaration and initialization has never happend for this program, I think it's printing rubbish from the memory, because there is no other explanation.
Try compiling it with BCC32(an ANSI C compiler).
You should give us the compiler you are using.