My first inclination was to suggest that Haskell, as commonly practiced (with monadic IO), is not a functional language either.
Instead, I’m going to explain how it is that the C language is purely functional.