多个空格 用一个空格轮换输出

多个空格 用一个空格替换输出
#define TMP 'a'

void main(int argc , char *argv)
{
char c ,chartmp ;

chartmp = TMP;
int a;
while((a=(c == getchar())) != 10)
{
if (c != ' ')
putchar(c);
if (c == ' ')
{
if(chartmp != ' ')
putchar(c);
}
chartmp = c; 
}
}

------解决方案--------------------
while((a=(c == getchar())) != 0)

------解决方案--------------------
探讨
#define TMP 'a'

void main(int argc , char *argv)
{
char c ,chartmp ;

chartmp = TMP;
int a;
while((a=(c == getchar())) != 10)
{
if (c != ' ')
putchar(c);
if (c == ' ')
{
if(chartmp != ……

------解决方案--------------------
C/C++ code

#include <stdio.h>

int main(int argc , char **argv)
{
    char c ,chartmp ;

    while((c=getchar()) != EOF)
    {
        if (c != ' ')
        {
            putchar(c);
        }
        else if(chartmp != ' ')
        {
                putchar(c);
        }
        chartmp = c; 
    }

    return 0;
}