I wonder if does:
void *ptr = NULL;
printf("%p\n", ptr);
Will always gives (nil)
output?
Does it depend on standard library implementation, or it's a C99 standard specification?
On my system it yields (null)
so I guess it's implementation defined. More generally, everything %p
prints is implementation-defined:
7.21.6.1
The argument shall be a pointer to void. The value of the pointer is converted to a sequence of printing characters, in an implementation-defined manner.
Will always gives (nil)?
Not at all. On my machine (Mac with i686-apple-darwin11-llvm-gcc-4.2
) it prints 0x0
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With