打印
[STM32F1]

关于C语言的转义字符\用法和\\和\\n用法

[复制链接]
557|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王小琪|  楼主 | 2020-10-22 14:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我们在编写串口打印功能的时候经常会用到换行字符。代码分享如下
#include <stdio.h>

int main()
{
printf("        / \\n");
printf("        123\n");
printf("        123");
        return 0;
}

\\表示的其实是\
\n表示的是换行
所以\\n表示的就是字符\和字符n
如果只有一个\,编译的时候会报错“unknown escape sequence: '\/'”
所以printf(" / \\n");编译后打印的效果就是   /\n

printf(" 123\n");编译后打印的效果就是123+换行
printf(" 123");编译后打印的效果就是123

使用特权

评论回复
沙发
sonicll| | 2020-10-22 15:18 | 只看该作者
请问一下,\n 和 \r\n 是什么区别呢,看起来都是换行

使用特权

评论回复
板凳
王小琪|  楼主 | 2020-10-22 15:29 | 只看该作者
sonicll 发表于 2020-10-22 15:18
请问一下,\n 和 \r\n 是什么区别呢,看起来都是换行

我刚好之前研究过这个问题。
\n的意思是换行符,\r的意思是回车符。
unix下想要换行是\n
MAC下想要换行是\r
WIN下想要换行是\r\n
具体为什么可以研究下历史,应该是上古元年的一些纠纷。这也是windows和苹果电脑打开word文档可能会排版有问题的一个原因。

使用特权

评论回复
地板
王小琪|  楼主 | 2020-10-22 17:23 | 只看该作者
sonicll 发表于 2020-10-22 15:18
请问一下,\n 和 \r\n 是什么区别呢,看起来都是换行

还有一点就是我们平时所说的换行是指“光标挪到下一行,然后光标挪到该行的首位”
但是\n作用是换行“光标挪到下一行”,\r作用是回车“光标挪到首位”
所以WIN下想要换行是\r+\n

使用特权

评论回复
5
isageko| | 2020-10-23 17:41 | 只看该作者
哈哈很基础的东西 但是确实都是需要注意的一不小心就可能输出错误字符串

使用特权

评论回复
6
zhengfish| | 2020-10-23 19:12 | 只看该作者
C语言常识

使用特权

评论回复
7
观海| | 2020-11-13 11:20 | 只看该作者
还是需要经常用啊 要不然就忘了

使用特权

评论回复
8
guanjiaer| | 2020-11-13 11:21 | 只看该作者
哈哈  好多年没有用过这个函数了

使用特权

评论回复
9
heimaojingzhang| | 2020-11-13 11:23 | 只看该作者
转义字符我每次都需要查查字符表

使用特权

评论回复
10
keaibukelian| | 2020-11-13 11:25 | 只看该作者
不小心的话就会出现不希望出现的字符

使用特权

评论回复
11
labasi| | 2020-11-13 11:26 | 只看该作者
非常有意思的代码  经常分不清到底是不是转义字符

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

227

主题

578

帖子

6

粉丝