1.问题
编写一个输入复制到输出的程序,并将其中的制表符替换为 ,回退符替换为,反斜杠替换为\。这样可以将他们以可见形式显示出来。
2.代码
#include <stdio.h>
int main(int argc, char *argv[]) {
int c;
while ( (c = getchar()) != EOF )
{
if ( c != ' ' && c != '' && c != '\' )
{
putchar(c);
}
else
{
if( c == ' ' )
printf("\t");
if( c == '' )
printf("\b");
if( c == '\' )
printf("\\");
}
}
return 0;
}
3. 问题
在Windows系统中,回退符Backspace不显示。查询资料后了解到getchar()不能捕获到键盘输入Backspace,改用为getch可解决。
另外注意的一个点就是'\',输出的时候应该是\\,反斜杠默认是用来转意的,在前面加一个反斜杠才表示字符。
- getchar
标准函数,从标准输入流获取一个字符 - getch
非标准函数,从键盘获取一个字符(与标准输入流不同且不回显[1])
↩︎@echo xxx (回显) 执行命令,输出 xxx echo xxx (不回显) 执行命令,输出 echo xxx ---- 执行回显则会把命令隐藏,反之显示