there are many functions whose definitions are subject
to interpretation.
For example, does puts() add a newline ('\n')? Many implementation
My second edition K&R says (page 247) :
'
int puts(const car *s)
puts writes the string s and a newline to stdout. It returns EOF if an
error occurs, non-negative otherwise'
Seems pretty clear to me. It adds a newline.
choices, rather than be codified or standardized are
left open, and are
now often referred to as "undefined". Not "undefined" as in x/0 ,
but
"undefined" as in what does n=2; A[n++] = n++; do?
I don't want to try it. It might make demons come out of my nose
(particularly on Halloween).
-tony