当前位置: 代码迷 >> C语言 >> [求助]出现死循环了
  详细解决方案

[求助]出现死循环了

热度:344   发布时间:2006-09-27 12:33:21.0
[求助]出现死循环了

/*编写一个程序,把它的输入复制到输出,并在此过程中将相连
的多个空格用一个空格代替.
*/

#include <stdio.h>
#include <conio.h>

main()
{
int c,i;
clrscr();
while((c=getchar())!=EOF)
{
for(i=0;c==' ';i++) /*这儿出现死循环了*/
;
if (i!=0)
putchar(' ');
putchar(c);
}
getch();
}


用getchar和putchar如何完成上面的任务,我写错了


----------------解决方案--------------------------------------------------------

想到方法了

呵呵,解决问题了
/*编写一个程序,把它的输入复制到输出,并在此过程中将相连
的多个空格用一个空格代替.
*/

#include <stdio.h>
#include <conio.h>
#define OUT 0
#define IN 1

main()
{
int c,i,state=IN;
clrscr();
while((c=getchar())!=EOF)
{
if (c==' ')
state=OUT;
else
{
if (state!=IN)
putchar(' ');
state=IN;
}


if (state)
putchar(c);

}
}

测试数据输入
wo ai ni
输出:
wo ai ni
输入:
wo ai ni
输出:
wo ai ni

[此贴子已经被作者于2006-9-27 20:26:43编辑过]


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
  相关解决方案