Lyzl123@ 发表于 2022-9-15 17:03:26

问题求助

c语言“打印”一节中,课后习题中打印飞机的时候,小甲鱼第六行的反斜杠为什么有三个,少打一个的话最终打印又会多个n,哪位大佬可以解释一下原因?{:5_104:}

Twilight6 发表于 2022-9-15 17:10:00



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

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

jackz007 发表于 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 个字符的表达了。那样的话,就不符合我们的需要了。

zhangjinxuan 发表于 2022-9-16 07:19:47

转义不是很理解哦
页: [1]
查看完整版本: 问题求助