For C, this seems to be implementation defined.
(At least for C as encountered in the wild, I don't know about C the standard.)
Most modern C compilers support tail call optimization.
I don't know about `most languages'. Eg I know Java on the JVM doesn't do tail call optimization. Lots of languages probably do not require TCO of their implementations, though.