//1-9本算法将输入复制到输出,并将其中连续的多个空格用一个空格代替
#include <stdio.h>
#define NONBLANK 'a' //将非空符号定义为任意一个非空字符
main()
{
int c,lastc; //定义两个字符量,c为当前字符的ASC2值,lastc则为前一个字符的ASC2值
lastc =NONBLANK;
while((c=getchar())!=EOF)
{
if(c!=' ' || lastc != ' ') //当当前字符不为空且前一个字符不为空时,原样输出字符
putchar(c);
lastc = c; //不符合非空条件,无论是当前字符为空字符还是前一个字符为空字符或者两者都是空字符,直接跳到这一步,并更新lastc,特别地,当c为空时,再将 c赋给lastc,不断进行if判断,使多个重复的空格最后输出仅一个空格。
}
}