《C程序设计语言》(第2版)32页,练习1-9
编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
第一个难题啊,在网上搜索后才找到的答案。先去自己写一下试试,写好了复制过来。
#include<stdio.h>
int main()
{
int c = 0;//字符
int onespace = 0;//用来控制空格只有一个
while ((c=getchar())!=EOF)
{
if (c == ' ')//如果输入的是空格
{
if (onespace == 0) //如果等于0,说明进入的是第一个空格
{
putchar(c);//那就直接输出字符
onespace = 1;//然后让它等于1,说明下面还是空格就是第二个,不会执行putchar,直到输入的不是空格为止
}
}
else
{
onespace = 0;//输入的不是空格,那就让它仍等于0
putchar(c);//把这个非空格字符输出
}
}
}
代码是学的别人的,注释是自己写的。