这个问题在K&R的练习 1.9 中。我写了以下代码:
#include<stdio.h>
main()
{
int c,i=0,n=0;
while((c=getchar())!=EOF)
{
if(c!=' '||c!='\t')
{
i=0;
putchar(c);
}
else if(c==' '||c=='\t')
{
i++
}
if((c+1)!=' '||(c+1)!='\t')
n=i;
if(n!=0)
{
c=' ';
putchar(c);
}
}
}
但我无法获得所需的输出。我在 ubuntu 中使用 gcc。当我输入类似hello\t\ta
输入的内容时,我的输出是,hello\_\_a
即选项卡数被空格数替换,当我输入时,hello\_\_a
我的输出与输入相同。
请帮助我或建议我一些新的东西以获得所需的输出。