Why can’t ed be exited with C-c?

The program ed, a minimal text editor, cannot be exited by sending it an interrupt through using CtrlC, instead printing the error message “?” to the console. Why doesn’t ed just exit when it receives the interrupt? Surely there’s no reason why a cryptic error message is more useful here than just exiting. This behavior leads many new users into the following sort of interaction: