首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

新手请问

2012-02-12 
新手请教#includestdio.h#defineNONBLANKamain(){intc,lastclastcNONBLANKwhile((cgetchar())!EOF)

新手请教
#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 赋非空格就是这样来回赋值判断
很简单

热点排行