回退符怎么输入 ---在线等
the C programming language上的一道习题:
1-10:编写一个程序,把它的输入复制到输出,并在此过程中把制表符换成\t,把回退符换成\b,把发斜杠换成\\。
程序问题很好解决,可是我的问题是,这个回退符怎么输入,我无法测试把回退符转化到\b这个分支,请高手帮忙!在线等
[解决办法]
这道题因为是在CPL这本书的第一章,所以不要把它想的太复杂,程序的结构应该是这样子:
#include <stdio.h>
int main()
{
int c;
while((c=getchar())!=EOF)
{
if(c==10)
{
putchar( '\\ ');
putchar( 'b ');
continue;
}
else
putchar(c);
}
return 0;
}
但是当你运行的时候,发现结果可能与lz你预期的有差距。
当然也可以用不回显的函数getch()来做,程序有可能是这个样子:
#include <stdio.h>
int main()
{
int c;
while((c=getch())!=13)
{
if(c== '\b ')
{
putchar( '\\ ');
putchar( 'b ');
continue;
}
else
putchar(c);
}
return 0;
}
但是这样做用一般的F6或alt+z是不能结束的,所以这里用换行符来代替EOF。