C语言K& R练习1-8

时间:2013-02-18 23:55:29

标签: c

我现在坐在K& R C编程语言上。我在1号练习1-8上叠加了 锻炼它自己。

编写一个程序,用三个字符的顺序替换每个标签>,退格, - ,女巫打印为→,每个退格由类似的←。这使标签和退格显示。

据我所知,练习让我在标签和退格中指向箭头。但我不知道如何在C中剪辑2个字符 这是自己的程序

#include <stdio.h>
main ()  
{  

int c;

while ((c=getchar()) !=EOF)
{
    if (c == '\t')
        printf(">->->\b");
    if (c == '\b')
        printf("<-<-<-\b");
     if (c !='\t')
         if (c !='\b')
              putchar(c);

}   

  getchar();
}

那么我的错误在哪里可以帮助我?

1 个答案:

答案 0 :(得分:1)

所需的序列是

>\b-

请注意,这可能不适用于现代终端仿真程序,因为大多数都不支持叠印字符。最初的想法是模仿旧的打字机技术,打印一个角色,用一个角色支撑头部,并在前一个角色上面击打另一个角色。

如果您的终端支持UTF-8,您可以替换&#39;→&#39; Unicode字形(U + 2192 RIGHTWARDS ARROW),以UTF-8编码为

\xe2\x86\x92

同样,&#39;←&#39; (U + 2190)是

\xe2\x86\x90