I wonder if does:
void *ptr = NULL;
printf(\"%p\\n\", ptr);
Will always gives (nil)
output?
Does it depend on standard
Will always gives (nil)?
Not at all. On my machine (Mac with i686-apple-darwin11-llvm-gcc-4.2
) it prints 0x0
.
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.