关于C语言\b \t \n及转义序列的理解

转义序列说明
\b后退一格(Backspace)
\t水平制表(Tab=4个空格)
\v垂直制表
\r回车(Enter)
\f换页
\a发出鸣响
\n换行
\"输出/输入双引号(")
\'输出/输入单引号(‘’)
\?输出/输入问号(?)
\\输出/输入反斜杠(\)
\/输出/输入斜杠(/)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Point 1: 

\b 的结合使用(Code::Blocks编译器不包含 \b 标识符)

//Example
#include "stdio.h"
int main()
{
    int i;
    for(i=0;i<=5;i++)
    {
        printf("%d,",i);
    }
}

//上面的代码输出为0,1,2,3,4,5,
//那么问题来了?怎么去掉5后面的逗号呢?这时候 \b 派上用场了

//修改代码如下
#include "stdio.h"
int main()
{
       int i,j=1;
       while(j=1)
       {
           for(i=0;i<=5;i++)
           {
               print("%d,",i);
           }
           j=0;
       }
       printf("\b");
} 

//输出结果为 0,1,2,3,4,5
//逗号就这样神奇地去掉啦

Point 2:

关于 \b 和 \t 的混合使用

1 #include "stdio.h"
2 int main()
3 {
4     printf("123456789\n");
5     printf("\t\b\t\b1\n");
6     printf("\t\t\b\b1\n");
7     return 0;
8 }
9 //输出结果如下图

\b将输出位置左移一位

\t表示一个tab的距离即1个大空格,相当于4个小空格

上述代码的理解:

  \t\b\t\b 表示前进四个空格然后回退一个空格,做两次相同操作,于是数字1会定位到数字7对应的位置下方。

  \t\t\b\b 表示前进两个大空格然后再回退两个大空格,即将\t看成一个tab的效果,回退的是两个tab,所以最后回到最初位置,也就是数字0对应的位置下方。

PS:你可以自己尝试一下printf("\t\b\t\b\t\b1");          //看看最后的结果是不是数字1在12的下面。

            printf("\t\t\t\b\b\b1");      //看看输出结果是不时数字1在初始位置,也就是0的下面。

转载于:https://www.cnblogs.com/JasonCeng/p/6115407.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值