我在“C 编程语言”中看到一个问题,它是这样的:编写一个程序将其输入复制到其输出,用 \t 替换每个制表符,用 \b 替换每个退格键,用 \ 替换每个反斜杠。这使得标签和
退格键以明确的方式可见。然后我写了一个这样的程序
#include<stdio.h>
int main(void)
{
int c;
while((c=getchar())!=EOF)
{
if(c=='\t')
{
putchar('\\');
putchar('t');
}
if(c=='\b')
{
putchar('\\');
putchar('b');
}
if(c=='\\')
{
putchar('\\');
putchar('\\');
}
else{
putchar(c);
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是当我输入退格时,我不能得到'\b',那么我怎么能得到输出'\b'?即我的意思是,我怎么能输出退格?
我想得到输出\\,所以我输入到我的代码, putchar('\\\');
但它没有用,我得到以下错误
D:\ c ++ work\change\change.cpp(17):错误C2001:常量中的换行符
D:\ c ++ work\change\change.cpp(17):致命错误C1057:宏扩展中意外的文件结束
为什么?