关于C语言\b \t \n及转义序列的理解
2024-08-31 12:13:24
转义序列 | 说明 |
\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=;i<=;i++)
{
printf("%d,",i);
}
} //上面的代码输出为0,1,2,3,4,5,
//那么问题来了?怎么去掉5后面的逗号呢?这时候 \b 派上用场了 //修改代码如下
#include "stdio.h"
int main()
{
int i,j=;
while(j=)
{
for(i=;i<=;i++)
{
print("%d,",i);
}
j=;
}
printf("\b");
} //输出结果为 0,1,2,3,4,5
//逗号就这样神奇地去掉啦
Point 2:
关于 \b 和 \t 的混合使用
#include "stdio.h"
int main()
{
printf("123456789\n");
printf("\t\b\t\b1\n");
printf("\t\t\b\b1\n");
return ;
}
//输出结果如下图
\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的下面。
最新文章
- 推荐一个自动抽取pdf高亮笔记的web应用
- C# winform生成天气预报(转)
- Content is not allowed in prolog.解决方法
- CentOS 7 修改时区(转)
- Nodejs - windows的系统变量(环境变量)
- iOS学习之C语言函数
- HTTP Referer二三事---转
- 一天一个Java基础——对象和类
- Hadoop RPC源码阅读-服务端Server
- Android各种颜色dawable.xml中定义
- POJ 2485:Highways(最小生成树&;amp;&;amp;prim)
- 循环神经网络(Recurrent Neural Network,RNN)
- Elastichsearch实践——基本使用
- Python 的文件处理
- IE 浏览器 GET 请求缓存问题
- linux诡异的硬盘不足
- Oracle 自启动配置
- VIM下的插入模式的相关知识:
- ubuntu18.04修改时区
- ios程序后台继续运行
热门文章
- [ PyQt入门教程 ] PyQt5基本控件使用:单选按钮、复选框、下拉框
- js中slice和splice的区别
- Zabbix-agentd错误整理
- MQ 服务器错误代码2035
- mybatis 源码分析(一)框架结构概览
- ReentrantLock源码分析--jdk1.8
- 003——Netty之Buffer、Channel以及多路复用器Selector
- Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别
- .NET使用Bogus生成大量随机数据
- git 常规业务场景 使用