c question: *printf'ing arrays
Carlos A. M. dos Santos
unixmania at gmail.com
Thu Jul 2 18:11:00 UTC 2009
2009/7/2 Dag-Erling Smørgrav <des at des.no>:
> Alexander Best <alexbestms at math.uni-muenster.de> writes:
>> for (i=0; i < sizeof(hdr->nintendo_logo); i++)
>> fprintf(stderr, "%x", hdr->nintendo_logo[i]);
>
> What will this print if nintendo_logo is { 0x01, 0x02, 0x03, 0x04 }?
Good catch. It will print "0x1234" but it should print "0x01020304".
My example has the same error. The conversion specification should be
"%02x", not just "%x".
--
My preferred quotation of Robert Louis Stevenson is "You cannot
make an omelette without breaking eggs". Not because I like the
omelettes, but because I like the sound of eggs being broken.
More information about the freebsd-hackers
mailing list