LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 808|回复: 1

请教一个C练习题

[复制链接]
发表于 2006-3-7 05:09:06 | 显示全部楼层 |阅读模式
题目是这个
Exercise 1-10. Write a program to copy its input to its output, replacing each tab by \t, each backspace
by \b, and each backslash by \\. This makes tabs and backspaces visible in an unambiguous way.
我想用如下代码实现

  1. #include <stdio.h>
  2. /* copy input to output; 2nd version */
  3. main()
  4. {
  5.   int c;
  6. while ((c = getchar()) != EOF)
  7.   {
  8.     if (c == '\t')
  9.       {
  10.         putchar('\\');
  11.         c='t';
  12.       }
  13.     else
  14.       if(c == '\b')
  15.         {
  16. putchar('\\');
  17.           c='b';
  18.         }
  19.       else
  20.         if(c == '\\')
  21.           {putchar('\\');
  22.             c='\\';
  23.           }
  24. putchar(c);
  25.    
  26. }
  27. }
复制代码

不知为什么,只有\b不行。在此请教。
发表于 2006-3-7 07:01:43 | 显示全部楼层
也许是因为getchar()要按回车确认输入
所以无法输入\b
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表