I don&#x27;t know the reasons for why so many things are undefined in C.  However, if a program does one thing when compiled with compiler A and another thing when compiled with compiler B, how does that help portability?  To my perhaps naive mind this makes portability harder to achieve not easier.