C语言学习笔记-字符串和转义字符

字符串

用双引号引起来的一串字符简称字符串

字符串的结束标志是一个\0的转义字符。\0不算作字符串的内容

用双引号引起的字符串末尾会默认添加一个\0作为结束标志

可以看到array2没有\0作结束标志会打印除正常内容的其它内容,而在array3添加了\0后就和array1一样了

 strlen() 计算字符串长度 //string length

 array1长度为3字节

     array1的值为双引号引起的字符串,在abc后面添加了一个\0,所以在计算长度时遇到\0停止,而且\0不计入长度

 array2长度为15字节

     array2的值不是字符串,在末尾没有\0,所以在计算的时候一直往后计算,遇到值为0(\0的值为0)停止计算,所以这个值是未知的,为随机值

转义字符  //转变原来的意思的字符

\n代表换行,而如果单单输入一个n的话就单纯的是个字符n而已。

如下代码:

   

\表示转义,而如果我们想打印一个路径的话,就会出现如下结果

test中的t被转义了,\t代表水平制表符,相当于按一下Tab健。

可以用斜杠转义斜杠,让斜杠就是一个普通的斜杠

可以看到t没有被转义为水平制表符,这是因为"\"把"\"转义为了一个正常的"\"

 emmm….好绕口,大概就这意思[doge]

 如果你想打印一个单引号或者双引号:

这样写是不可行的,这时候我们就需要转义中间那个单引号  \'

转义单引号之后:

双引号同理

\ddd  ddd表示1~3个八进制数字。八进制数字由0-7组成。

举个例子:

\132   这里的\132代表的是一个字符

\132是一个八进制数----转换为十进制------>90------ASCII码代表的是Z

\xdd  x代表十六进制 ,dd代表两个十六进制数。十六进制数由0~9和A~F组成

举个例子:

\x61

\x61----转换为十进制------>97------ASCII码代表的是a

补充 :strlen()当使用这个函数时,需要引入string.h文件

#include <string.h>

而如果没有声明string.h的话,也可以正常运行

不过会有Warning

关于不声明头文件也可以执行,我去百度搜了一下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zker_WH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值