https://stackoverflow.com/questions/5508110/why-is-this-program-erroneously-rejected-by-three-c-compilers