练习1-10 编写一个将输入复制到输出的的程序,并将其中的制表符替换成\t,把回退符替换成\b,把反斜杠\替换成\\,这样可以将制表符和回退符以可见的方式显示出来。

来源:互联网 发布:isagraf 编程教程 编辑:程序博客网 时间:2024/04/28 22:43
/*时间:2017/8/2地点:工程北629功能:将制表符、单个反斜杠、回退符,以可见的方式显示出来思想:使用标志位。使用getchar、putchar函数说明:关于回退符的输入,还没有更好的方法?*/#include <stdio.h>int main(){    int c, d;    while ( (c=getchar()) != EOF) {        d = 0; //必须设置标志位,d=0表示直接原样打印输出        if (c == '\\') {//检测到输入中有1个反斜杠\,此处写法c =='\\'是正确的。            putchar('\\');            putchar('\\');            d = 1;          }        if (c == '\t') {//检测到输入中有一个隐式的制表符            putchar('\\');            putchar('t');            d = 1;        //将标志位置1,防止输出\t后,继续输出1个隐式的制表符形式        }        if (c == '\b') {//注:检测到有一个回退符。没有搞清楚如何输入??             putchar('\\');            putchar('b');            d = 1;        }        if (d == 0)//如果输入中不含有上述三种符号,直接原样打印输出。            putchar(c);            }    return 0;}/*在Vc++6.0中的输出结果是:----------------------------ni      ni      nini\tni\tnini\ni\nini\\ni\\nini\\ni\\nini\\\\ni\\\\nini\bni\bnini\\bni\\bnini      \b      ni      ni\ni\\ni\bnini\t\\b\tni\tni\\ni\\\\ni\\bni^ZPress any key to continue//假如将第2个if语句中的d=1注释掉,那么将会导致下面的错误输出。ni      ni      nini\t    ni\t    ni^ZPress any key to continue----------------------------总结:注意标志位的使用。关于标志位的使用,可参考练习1-8、练习1-9加以巩固。*/


阅读全文
0 0