The C programming language-Exercise 1-9

479 ワード

Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank.
私が答えたのは
#include<stdio.h>
main()
{
  int c,nb;
  c=nb=getchar();
  while(c != EOF)
    {
      while (c == ' ')
	{
	  nb=c;
	  c=getchar();
	}
      if(nb != ' ')
	  {
	    putchar(c);
	  }
      else
	{
	  putchar(nb);
	  putchar(c);
	}
      nb=c = getchar();
    }
}
方法はとても愚かで、もしあなたが良い方法があれば、私に教えてください.