What is the behavior of the conversion specifier `p` with `NULL` pointer?
c, null, printf
Solution
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.
Problem
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?