编写一个程序,把它的输入复制到输出,并在此过程中把制表符换成 \ t、把回退符换成\ b、把反斜杠换成\ \。这样可以使得制表符与回退符能以无歧义的方式可见。
这个题就是用getchar(),和putchar() 函数的一个小练习题,在前几题的基础上很轻松就能把代码写出来,但在运行的时候制表符\t,反斜杠\\都可以以无歧义的方式替换下来,但是回退符就是显不出来.用习题的标准答案运行也是一样的问题,在网上查了些资料,说这个回退符可以用CTRL+H来代替,但在WIN下根本没用,还是显示不出来,但LINUX下却可以以CTRL+H来代替,并可以得到正确结果.
说了这个回退符,也就要说下这个EOF了,EOF是个不可输入的字符,代表文件的结束,在WIN下是CTRL+Z代替,在LINUX下是CTRL+D.
这个例子在WIN下用VC6的CL编译,在LINUX下用的GCC编译,除了回退符在WIN环境下无法显示,在LINUX下却可得到结果,有一点区别就是在WIN下输完回车,才会重打在另一行,EOF跟在有输入的后面无效,在单独一行回车后程序退出.而在LINUX下只要按CTRL+D就会立即显示在同一行光标处,不需回车,单独按CTRL+D后会自动退出程序.同样也不需回车.
这个程序看起来简单,却有不少的东西可学.

0 评论:
发表评论