回车与换行的区别

本文详细解释了C语言中回车( )和换行( )的区别,以及它们在ASCII码中的表示。同时讨论了Word文档中硬回车与软回车的功能差异,指出硬回车会自动换行,而软回车则仅换行不换段。
摘要由CSDN通过智能技术生成

先了解定义

  • 回车(carriage return):将光标移动到本文开头!
  • 换行(Line feed):将光标移动到下一行(不一定是行首)!

换行与回车的转义字符

  • 回车:\r,ASCII码:13
  • 换行:\n,ASCII码:10

在C语言中的实现

以下在测试使用 CentOS 7.6 使用原生 /etc/bash 终端

  • 回车(\r):
测试一:
#include <stdio.h>

void main() {
    printf("-----------------------------\r");
    printf("+++++++");
}
输出一:

image-20240214215339249

由于 \r 的缘故,执行完第 4 行代码时,\r 会使光标移动到当前行的行首,执行第5行代码时,输出 +++++++,并且由于第5行代码输出最后没有换行(\n),故 [root@wanlu ~] 会继续在 + 后面输出,覆盖第 4 行输出的内容。

代码测试二:
# include <stdio.h>

void main() {
    printf("-----------------------------\r");
    printf("+++++++\r");
}
输出二:

image-20240214215229771

在代码测试一的基础上,这第5行代码最后又由于 \r ,使用第 5 行输出的内容被 [root@wanlu ~] 覆盖。

代码测试三:
#include <stdio.h>

void main() {
    printf("-----------------------------");
    printf("+++++++\r");
}
输出三:

image-20240214215425146

  • 换行(\n):
代码测试:
#include <stdio.h>

void main() {
    printf("-----------------------------\n");
    printf("+++++++");
}
输出:

image-20240214215547639

通过以上的程序输出,我们不难判断出,回车与换行之间的区别

但是我又想到了在编辑 word 文档中,我们点击键盘上面的 Enter(回车) 键,在 word 中,它即回车又换行了,但是 Enter 键是一个回车键,这又引起了我的疑惑。

其实,在 word 中有“硬回车”与“软回车”之分,硬回车中 会自动换行,所以就是我们在word中看到的效果,这也是为方便人们编辑文档。

拓展

word 中硬回车与软回车

  • 硬回车:在 word 中,只用 输入 Enter(回车) 键,便可以实现。使用硬回车, word 会自动换行,相当于写文章中的分段。

  • 软回车:在 word 中,使用 Shift + Enter 组合键,只会实现换行。看上去与”硬回车“差不多,但是上下文是一段的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初原挽风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值