回车与换行的区别
先了解定义
- 回车(carriage return):将光标移动到本文开头!
- 换行(Line feed):将光标移动到下一行(不一定是行首)!
换行与回车的转义字符
- 回车:
\r
,ASCII码:13 - 换行:
\n
,ASCII码:10
在C语言中的实现
以下在测试使用 CentOS 7.6 使用原生 /etc/bash 终端
- 回车(\r):
测试一:
1 |
|
输出一:
由于 \r 的缘故,执行完第 4 行代码时,\r 会使光标移动到当前行的行首,执行第5行代码时,输出 +++++++,并且由于第5行代码输出最后没有换行(\n),故 [root@wanlu ~] 会继续在 + 后面输出,覆盖第 4 行输出的内容。
代码测试二:
1 |
|
输出二:
在代码测试一的基础上,这第5行代码最后又由于 \r ,使用第 5 行输出的内容被 [root@wanlu ~] 覆盖。
代码测试三:
1 |
|
输出三:
- 换行(\n):
代码测试:
1 |
|
输出:
通过以上的程序输出,我们不难判断出,回车与换行之间的区别
但是我又想到了在编辑 word 文档中,我们点击键盘上面的 Enter(回车) 键,在 word 中,它即回车又换行了,但是 Enter 键是一个回车键,这又引起了我的疑惑。
其实,在 word 中有“硬回车”与“软回车”之分,硬回车中 会自动换行,所以就是我们在word中看到的效果,这也是为方便人们编辑文档。
拓展
word 中硬回车与软回车
硬回车:在 word 中,只用 输入 Enter(回车) 键,便可以实现。使用硬回车, word 会自动换行,相当于写文章中的分段。
软回车:在 word 中,使用 Shift + Enter 组合键,只会实现换行。看上去与”硬回车“差不多,但是上下文是一段的。