C语言中你一知半解的‘\b‘

简介: C语言中你一知半解的‘\b‘

在做题目的过程中,对\b的理解较模糊,以为就是和键盘上面的backspace一样,其实不然,于是找了一些资料,总结出一些知识点和大家分享一下。


一.转义字符\b的用法及其含义

1.单个\b且\b后面没有其他字符


列举几个程序来说一下这单个\b的作用,编译器是dev++;请看以下代码:


#include <stdio.h>
int main()
{
    printf("123456789\b");
    return 0;
}


输出结果如下:

75028436e1fb365c6a69cfb44db2b75b.png

总结:输出结果还是123456789,可以看出这个\b和键盘上面的backspace是不一样的。

2.多个\b且后面有字符

代码如下:

#include <stdio.h>
int main()
{
    printf("876543\b\b\b21");
    return 0;
}



输出结果如下:

d762969bbd179e081c3089e9b3c291a1.png


解释:当输出876543的时候,出现了三个\b,而这三个\b的作用就是将当输出876543的时候这个3后面的光标向前移动三个位置,然后从这三个位置的起始位置开始的这些字符把他们替换成三个\b后面的2和1,也就是将5 和4替换成2和1,最终呈现在我们眼前的便是876213。


注意:如果printf里面是汉字,也符合上述情况哦!

3.当\b遇到\n或\r

当\b遇到\n或\r,这又是一种和前面不同情况,要我们去分析,请看下面的代码:

#include <stdio.h>
int main()
{
    printf("98765\n\b\b\b4321");
    return 0;
}



输出结果如下:

33d7b380799f797ad2ec2b7de7b3a811.png

接下来请看遇到\r的去情况

#include <stdio.h>
int main()
{
    printf("98765r\b\b\b4321");
    return 0;
}


输出结果如下:

34193401fa855d88231b9314e17ead91.png

综上所述,当\b遇到换行符\n或者\r,光标就不会再向左移动了。

2023.02.05

From:努力进大厂的新青年

相关文章
|
15天前
|
传感器 安全 算法
【C语言】C语言可以做什么?
C语言因其高效、灵活和低级控制能力,被广泛应用于各个领域,从基础设施和科学计算到金融、交通和机器人技术。它在许多关键应用中展示了其不可替代的价值和广泛的适用性。
49 2
|
7月前
|
C语言 C++
初识C语言
该内容介绍了编程中的主函数(main函数)概念,展示了一个简单的C++程序示例,包括一个只包含`return 0;`的主函数和另一个打印&quot;hehe&quot;的主函数。强调在同一个工程中只能有一个main函数,但可以有多个.c源文件。
38 1
|
7月前
|
C语言
C语言中%c,%d,%x,%f,%4.2f分别是什么
C语言中%c,%d,%x,%f,%4.2f分别是什么
|
7月前
|
存储 C语言
初识C语言(二)
初识C语言(二)
|
Java C语言 C++
初识C语言(上)
初识C语言(上)
71 0
|
存储 编译器 C语言
初识C语言(四)
初识C语言(四)
|
7月前
|
C语言 C++
C语言集106-111
C语言集106-111
|
C语言
一些最近总结的C语言要注意的问题和对于一些问题的理解
一些最近总结的C语言要注意的问题和对于一些问题的理解
51 0
|
存储 安全 编译器
初识c语言(下)
初识c语言(下)
49 0
|
C语言
C语言的部分杂碎知识
C语言的部分杂碎知识