一个书上的程序,,看不太懂,,请指教!!

来源:百度知道 编辑:UC知道 时间:2024/09/28 15:42:00
#include <stdio.h>

int main()
{
int c, d;

while ( (c=getchar()) != EOF) {
d = 0;
if (c == '\\') {
putchar('\\');
putchar('\\');
d = 1;
}
if (c == '\t') {
putchar('\\');
putchar('t');
d = 1;
}
if (c == '\b') {
putchar('\\');
putchar('b');
d = 1;
}
if (d == 0)
putchar(c);
}
return 0;
}
为什么有两个putchar()函数呢????这一点不太理解!!!
do起了什么作用呢?

因为\是转义字符 单独使用没有意义
\\表示显示\
\t表示显示一个Tab制表符
\b表示退格(光标回走一格)

程序的目的是将输入的字符再显示出来,
并把输入的 \ 字符显示为 \\
把输入的\t(即Tab制表符)字符显示为\t
把输入的\b(即退格键)字符显示为\b
要显示\就要putchar('\\');

输入\b

putchar('\\'); -> 输出\
putchar('b'); -> 输出b

把输入的再输出 如果写在一起如\\b 就不是输入的效果了 就当作是转义字符了

就是将两个 putchar() 组合起来输出一个 \b ,实际上当你按键为 BackSpace的时候输出 \b

echo..

putchar()函数本来就是输出单字符的,你书上的程序可能正好讲到转义字符,让你了解转义字符的运用而已,其实在实际的使用中不可能这样用的