首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言K&R练习1-8

C语言K&R练习1-8
EN

Stack Overflow用户
提问于 2013-02-18 23:55:28
回答 1查看 571关注 0票数 0

我现在坐在K&R上,这是C语言。我有一堆练习1-8。

锻炼它自己。

编写了一个程序,将每个制表符替换为三个字符序列>、backspace、-、女巫打印为→,以及每个背景色由相似的←替换。这使得制表符和后置空间可见。

正如我在这里所理解的那样,这个练习要求我在制表符和后置空间中做箭头。但是我不知道如何用C把两个字符拼凑在一起

这是自我编程

代码语言:javascript
复制
#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();
}

那么我的错误在哪里你能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 00:01:11

所需的顺序是

代码语言:javascript
复制
>\b-

请注意,这可能不适用于现代终端仿真器,因为大多数不支持重印字符。最初的想法是模仿旧的打字机技术,打印一个字符,用一个字符将头向上,并将另一个字符打在前一个字符的上方。

如果您的终端支持UTF-8,则可以替换“U+2192”Unicode字形(U+2192向右箭头),它以UTF-8编码为

代码语言:javascript
复制
\xe2\x86\x92

类似地,'←‘(←)是

代码语言:javascript
复制
\xe2\x86\x90
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14947501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档