jremington:
It is likely that the random bits in the memory location assigned to the uninitialized floating point variable represent an invalid floating point number.
There are no invalid bit combinations for floating-point numbers. All of the codespace is used. However a certain chunk of the space is given over to NAN (Not A Number) values. There's also some special values used for positive and negative infinity. The Arduino print function does look for these values.