こうすれば使用する変数減らせるな。

{
  int c;

  while ((c = getchar()) != EOF) {
    if (c != ' ')
      putchar(c);
    else {
      if ((c = getchar()) != ' ')
        putchar(' ');
      ungetc(c, stdin);
    }
  }
  return EXIT_SUCCESS;
}