One Word Broke C
The author claims that:<p>&gt; In C89, undefined behavior is interpreted as, “The C standard doesn’t have requirements for the behavior, so you must define what the behavior is in your implementation, and there are a few permissible options”.<p>That&#x27;s a serious misinterpretation. C89 says that &quot;Permissible undefined behavior&quot; includes &quot;ignoring the situation completely with unpredictable results&quot;. There is absolutely no requirement to document what those &quot;unpredictable results&quot; might be.<p>The standard joke is that one possible consequence of undefined behavior is making demons fly out of your nose -- not because that&#x27;s actually possible, but because actually making demons fly out of your nose would not violate the standard. That&#x27;s equally true in C89 and all later versions of C. The change in C99 from &quot;Permissible&quot; to &quot;Possible&quot; made no difference. The phrase &quot;imposes no requirements&quot; has always meant exactly that. (And if you think the change from &quot;Permissible&quot; to &quot;Posisble&quot; is semantically significant, then it would have been a recognition of what was already accepted.)<p>The idea of &quot;nasal demons&quot; goes back to 1992. <a href="http:&#x2F;&#x2F;catb.org&#x2F;jargon&#x2F;html&#x2F;N&#x2F;nasal-demons.html" rel="nofollow">http:&#x2F;&#x2F;catb.org&#x2F;jargon&#x2F;html&#x2F;N&#x2F;nasal-demons.html</a>