文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言中反斜杠的作用及说明

2024-04-02 19:55

关注

C语言中反斜杠的作用

反斜杠起到换行作用,用于宏定义和字符串换行。其中宏定义中使用居多。

如果一行代码有很多元素,导致太长影响阅读,可以通过在结尾加\的方式,实现换行,编译时会忽略\及其后的换行符,当做一行处理。

1.在宏定义中

要换行必须使用 \ 结尾。

#define CHECK_ACTION_RETURN(expr) \
    if (!expr) { \
        printf(":failed(%d)\n", ret); \
        return ret; \
                } else { \
        printf(":ok\n"); \
                }

2.在字符串常量中

可以使用 \ 结尾。

"this \
is \
for \
testing"

和”this is for testing”是相同的,但是对于字符串写成

"this "
"is "
"for "
"testing"

效果是相同的,而且更美观。

3.另外在普通的语句中

也可以通过 \ 实现换行,不过这时没有 \ 也是一样的效果。

比如

printf("this is for test %d %d %d\n",\
test_output_a,\
test_output_b,\
test_output_c);

printf("this is for test %d %d %d\n",
test_output_a,
test_output_b,
test_output_c);

是没有区别的,所以这时一般不会使用\。

斜杠,双斜杠,反斜杠与双反斜杠

1. 斜杠

"/"是URL地址中用到的分隔符,斜杠/在Linux等其他操作系统中使用

web应用最早部署在Unix系统,所以目前使用的网络地址也是斜杠作为分隔符,可自行通过浏览器地址栏观察。

并且在linux系统中的文件路径也是用“/”分隔:比如在URL https://mp.csdn.net/mp_blog/creation/editor中,斜杠"/"起着分隔主机名、路径、以及文件名的作用,比如linux常见的路径名: /etc/ssh/sshd_config

2. 双斜杠

“//”用在网络域名访问中,是协议和主机名或IP地址之间的分隔符,以双斜杠//开头的URL是依赖协议的URL表示形式,URL格式:协议://域名或ip/请求文件路径/文件名。https://mp.csdn.net/mp_blog/creation/editor ,协议为 https,主机名为 blog.csdn.net。

C程序中文件路径使用双斜杠//

C语言中存在转义字符。C:\Program Files是Windows下的路径,在C文件操作中就要改为使用双斜杠为C:\Program Files

3. 反斜杠

“\”是Windows系统文件目录结构使用的分隔符,可常用做转义字符,此外在一些编程语言中,反斜线可作为一个强制换行符。反斜杠\只有Windows系统中使用,Windows中斜杠/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。

在windows下我们常用的路径名 D:\wenjian\cs\blog,就是用反斜杠来分隔目录文件的。\n \t等转义字符。

反斜杠在C里面(以及大部分编程语言)属于转义符,也就是其后的字符将有不同意义,比如\n表示回车,再比如在perl里面$x表示一个变量,而$x就不是变量了。至于\就是将后面的\转义了,此时后面的\就不是转义符了,

而是\字符本身,例如:printf(“\n”);打印出来的就是\n,而不是一个回车。

你只要记住\会将后面的字符转义即可,,比如printf(“\”);结果是编译错误,因为前面的两个\是\字符本身,第三个\会去转义后面的",这样就会缺少一个引号,造成编译错误。

\转义引号的地方很多,主要是要在字符串里包含引号,比如:printf(“hello “world”\n”);

4.双反斜杠

“\\”在windows里表示绝对地址的第一项,后面跟IP地址或计算机名,就是需要打开这个IP地址或计算机名对应主机的网络共享资源。

经常使用的一个场景是在局域网内设置共享文件夹,局域网内的其他电脑要访问该共享文件夹时可以在地址栏输入 \\共享文件夹电脑的局域网ip,比如 \\192.168.1.100(设置了共享文件夹的电脑的ip,可以在cmd中输入ifconfig查看)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯