you are printing the value of a pointer, the address of a location in hex. That looks about right, should be 8 bytes on a 64 bit machine, which is 16 characters (2 chars per byte in hex).
did you want the data? the data is in salesArray[i] (no &).
also doubles in hex are, remember, in IEEE format and difficult to read.
I am getting pretty much the same thing.
are you concerned about the hex VALUE? It is random; all you should see is that they are 8 bytes apart for each one.
that is what i expected. I think its just capping leading zeros then. 8 is what I expected to see. I think your code is fine, nothing wrong, and with a great deal of effort we can show leading zeros but do you really need it?