关于回退符

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:27:37
《The C Programming Language》上的课后题:
编写一个程序,把它的输入复制到输出,并在此过程中把制表符换成\t,把回退符换成\b,把反斜杠换成\\。这样可以使得制表符与回退符能以无歧义的方式可见。
对于这题,大体思路我明白,但是怎么在windows下用cmd来输入回退符呢?
我写了代码测试一下,代码如下:

#include<stdio.h>

void main ()
{
char c;
int nc = 0;
while ( ( c = getch() ) != EOF)
{
if ( c == '\b')
{
++nc;
}
}
printf( "%d\n", nc);
}
不管我在cmd里面按了退格键,或者用ctrl+H代替退格键,程序还是输出0,是在不知道怎么输入回退符了,望有大虾赐教!
1楼的代码输出还是0啊

EOF码不好输入.我们可以用别的键,例如用数字9控制退出while.
程序如下.
按一个退格键,或若干个退格键,按一下9,退出while,就打出结果了.
当然中间可以打别的键,程序只统计退格键个数.

#include <stdio.h>
void main ()
{
char c;
int nc = 0;
while ( ( c = getch() ) != '9')
{
if ( c == '\b')
{
++nc;
}
}
printf( "%d\n", nc);
}

用_getch()函数接收输入!

不是那么输入的 试试按住ALT在小键盘输入退格的ASCII码