鱼C论坛

 找回密码
 立即注册
查看: 2139|回复: 3

[已解决]问题求助

[复制链接]
发表于 2022-9-15 17:03:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
c语言“打印”一节中,课后习题中打印飞机的时候,小甲鱼第六行的反斜杠为什么有三个,少打一个的话最终打印又会多个n,哪位大佬可以解释一下原因?
最佳答案
2022-9-15 17:45:03
本帖最后由 jackz007 于 2022-9-15 17:49 编辑

       因为 C 语言规定,字符、字符串中的 '\' 是转义字符,需要与后续字符结合,一起表达另一个字符(通常为不可见字符),例如 '\n','\r','\t','\b' ,'\0' 等等,虽然在单引号里明明写的是 2 个字符,但是,表达的却千真万确是一个字符,那么,在字符串中需要出现单个的 '\' 字符又怎么办呢?答案是用 '\\' 表达,是的,你没看错,是用连续的 2 个 '\\' 来表达这一个'\' 字符,编译程序在遇到这种情况时,就会把连续的 2 个 '\\' 处理成一个 '\' 字符,这样,我们就达到目的了。所以,"\\\n" 实际上表达的是 '\' 和 '\n' 2个字符,如果你要删掉一个 '\' 字符,那就成了 '\' 和 'n' 2 个字符的表达了。那样的话,就不符合我们的需要了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-15 17:10:00 | 显示全部楼层


/ \\\n\ 红色两个斜杆,用 \ 转义 \ 才能打印输出,不然会被认为是转义字符,即字符串输出 \ 时,需要 \\  转义

然后  \n 表示换行符,最后 \n 后的 \ 在这行代码末尾表示续行

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-15 17:45:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-9-15 17:49 编辑

       因为 C 语言规定,字符、字符串中的 '\' 是转义字符,需要与后续字符结合,一起表达另一个字符(通常为不可见字符),例如 '\n','\r','\t','\b' ,'\0' 等等,虽然在单引号里明明写的是 2 个字符,但是,表达的却千真万确是一个字符,那么,在字符串中需要出现单个的 '\' 字符又怎么办呢?答案是用 '\\' 表达,是的,你没看错,是用连续的 2 个 '\\' 来表达这一个'\' 字符,编译程序在遇到这种情况时,就会把连续的 2 个 '\\' 处理成一个 '\' 字符,这样,我们就达到目的了。所以,"\\\n" 实际上表达的是 '\' 和 '\n' 2个字符,如果你要删掉一个 '\' 字符,那就成了 '\' 和 'n' 2 个字符的表达了。那样的话,就不符合我们的需要了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-16 07:19:47 From FishC Mobile | 显示全部楼层
转义不是很理解哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-27 22:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表