Как вы можете увидеть последний отпечаток? Другими словами, что вводить в EOF? Я проверил определения, и он говорит, что EOF равно -1.
И если вы введете Ctrl-D, вы ничего не увидите.
#include <stdio.h>
int main() {
int c;
while((c = getchar() != EOF)) {
printf("%d\n", c);
}
printf("%d - at EOF\n", c);
}