Yes, a bug: getchar() is normally a macro, and it contains a conditional operator ( ?: ) and a fetch with a post-increment (like *p++). If you put a conditional operator and a fetch with post-increment in a *return statement*, the fetch is acting like *++p, "thanks" to a new return optimization. Pity this wasn't found during beta testing; guess I should just skip that phase in the future...
Another way to "fix" this until I can upload a new version is just to undefine the getchar macro, somewhere after #include <stdio.h>:
like so:
#include <stdio.h>
#undef getchar