【发布时间】:2013-02-19 08:01:11
【问题描述】:
我现在坐在 K&R The C programming Language 上。我在 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();
}
那么我的错误在哪里,你能在这里帮助我吗?
【问题讨论】:
-
我认为这三个的退格字符是为了擦除制表符,但是我不太确定退格是否可以擦除另一个退格。我发现这里的问题陈述模棱两可。此外,我在 K&R 第 2 版中找不到完全相同的问题。
-
@Alexey Frunze:是的,我在程序中犯了一个小错误,我应该做 '>\b-' 但我的编译器不支持那种代码,它只显示 '-' 。 K&R 第 2 版没有正确答案
标签: c