关于输入复制到输出 , 连续的多个空格用一个空格代替的有关问题
关于输入复制到输出 , 连续的多个空格用一个空格代替的问题
c程序设计语言里的一个课后作业题:输入复制到输出 , 连续的多个空格用一个空格代替的问题
请问下 连续的多个空格用一个空格 这个程序是怎么实现的,为什么inspace=1的时候,就可以替换空格了。
多谢各位大神了。。。
#include <stdio.h>
int main(void)
{
int c;
int inspace;
inspace = 0;
while((c = getchar()) != EOF)
{
if(c == ' ')
{
if(inspace == 0)
{
inspace = 1;
putchar(c);
}
}
/* We haven't met 'else' yet, so we have to be a little clumsy */
if(c != ' ')
{
inspace = 0;
putchar(c);
}
}
return 0;
}
------解决方案--------------------
inspace=1是用于表示第一个空格,如果后面还有空格那么就不输出即if (inspace==0)条件不满足。当遇到非空格的,这个值又变为0,执行输出对应的字符。
------解决方案--------------------
c程序设计语言里的一个课后作业题:输入复制到输出 , 连续的多个空格用一个空格代替的问题
请问下 连续的多个空格用一个空格 这个程序是怎么实现的,为什么inspace=1的时候,就可以替换空格了。
多谢各位大神了。。。
#include <stdio.h>
int main(void)
{
int c;
int inspace;
inspace = 0;
while((c = getchar()) != EOF)
{
if(c == ' ')
{
if(inspace == 0)
{
inspace = 1;
putchar(c);
}
}
/* We haven't met 'else' yet, so we have to be a little clumsy */
if(c != ' ')
{
inspace = 0;
putchar(c);
}
}
return 0;
}
------解决方案--------------------
inspace=1是用于表示第一个空格,如果后面还有空格那么就不输出即if (inspace==0)条件不满足。当遇到非空格的,这个值又变为0,执行输出对应的字符。
------解决方案--------------------