读书人

新手请问

发布时间: 2012-02-12 17:16:33 作者: rapoo

新手请教
#include <stdio.h>

#define NONBLANK 'a '

main ()
{
int c , lastc;

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

谁能详细的给我解释一下这个程序,看得不大明白。谢谢了。

[解决办法]
并不是合成只是输出的时候
遇到多个空格只输出一个
没啥技巧 就是定义了一个中间变量lastc 定义为非空格
遇到第一个空格时候把这个变量赋空格
以后如果碰到都是空格字符就不再输出
如果遇到不是空格字符 直接输出,再把这个lastc 赋非空格就是这样来回赋值判断
很简单

读书人网 >C语言

热点推荐