【发布时间】:2015-01-23 19:22:04
【问题描述】:
我正在做 K&R 的练习 1-10
编写一个程序将其输入复制到其输出,将每个制表符替换为
\t,将每个退格替换为\b,并将每个反斜杠替换为\\。这使得制表符和退格键以明确的方式可见。
我想出了这个......
#include <stdio.h>
int main () {
int c;
printf("\n"); // For readability
while ((c = getchar()) != EOF) {
switch (c) {
case '\t':
printf("\\t");
break;
case '\b':
printf("\\b");
case '\\':
printf("\\");
break;
default:
printf("%c", c);
break;
}
}
}
出于某种原因,它拒绝触摸反斜杠。例如,当输入Hello how\ are you? 之类的字符串时,程序的输出是Hello\thow\ are you?,这意味着它转换了tab OK,但不是反斜杠。
我做错了吗?
【问题讨论】:
-
我们可以请至少提供一下先问是否是家庭作业的礼貌吗?有很多人被告知他们的问题是家庭作业,但他们回答说这是自我教育。如果我们确定但不是未经确认,我完全赞成标记它们。而且,如果有人对此撒谎,强硬!当他们交出作业时,他们会失败,因为任何不监控这些网站是否存在抄袭的教育工作者都不应该在教育。
-
每个教育工作者在评分前每次设置问题时都必须检查互联网是否存在问题?我是在云白痴之地醒来的吗?也许他们只是将每个学生答案的每一行都粘贴到谷歌中。这可能行得通。