思路
如何让程序知道有两个连续的空格?
第一个if 不是空格的字符直接输出
第二个if ,隐含条件c为空格
让b等于上一个c的字符,用来和新的c比较,
例如abc 空格 空格 空格 abc
当b值为字符'c',变量c是第一个空格时,输出c '空格',b=c(把第一个空格给了b),结束这一次while循环
当c是第二个空格,且b==空格,那么不输出c,屏幕只得到一个空格
依次这样,就能把三个空格变成一个
#include<stdio.h>
#define A 'a'
int main()
{
int c;
int b;
b=A;
//先把b给一个字符有意义 ,初始化
while( (c=getchar()) != EOF)
{
if ( c != ' ' )
putchar (c);
else if( b != ' ')
putchar(c);
b = c;
}
return 0;
}
不懂getchar,putchar,EOF看我的前一篇博客