C语言退格符b问题

Python019

C语言退格符b问题,第1张

这和\b与\b\n没有根本的关系

而是由于printf("%d*",i)后面的*好导致有符合条件的i就会输出一个*

而当最后一个符合条件的i时就多了一个*

而\b将多的那个*盖住了

\b\n没有盖住

你把两个都去掉就会发现*一直都会多

是 \b,也就是backspace,这是一个转义字符,详解如下:

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

转义字符  意义                                ASCII码值(十进制)    

\a        响铃(BEL)                           007    

\b        退格(BS) ,将当前位置移到前一列     008    

\f        换页(FF),将当前位置移到下页开头    012    

\n        换行(LF) ,将当前位置移到下一行开头 010    

\r        回车(CR) ,将当前位置移到本行开头   013    

\t        水平制表(HT) (跳到下一个TAB位置)  009    

\v        垂直制表(VT)                        011    

\\        代表一个反斜线字符''\'              092    

\'        代表一个单引号(撇号)字符          039    

\"        代表一个双引号字符                  034    

\0        空字符(NULL)                        000    

\ddd      1到3位八进制数所代表的任意字符      三位八进制    

\xhh      1到2位十六进制所代表的任意字符      二位十六进制