转义字符与strlen(),sizeof()
1. 转义字符每个人都知道是怎么一回事儿,转义字符顾名思义就是转变意思。
2. 首先转义字符肯定是一个字符,不是两个字符,更不用说是数字了,就是字符。
3. 当用strlen()统计字符串长度时或者用sizeof()计算所占字节大小时:
1.转义字符为一个字符,比如说\n,只计为一个字符,两者是一个整体。
2. 当\不起任何作用时,则单个\不计算在结果内。
3. 编译器会把\000或者\00当成\0,道理对\x000.....也一样。
4. 当strlen()碰到\0时就会停下来不在计数!\0不包括在内!,而sizeof()没有影响。
如:
\c没有任何转义的东西,这时候不能记为\与c两个字符,也只能记为一个字符。
\ddd
1. \ddd 斜杠后面跟1~3位八进制数,那么这个整体代表什么字符呢?
2. 首先先把八进制数化成十进制的数,然后对照ACSII码表进行对照就可以找到对应的字符了。
3. 如下:
\xdd
1. \x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII码值.
2. 道理一样,首先先把十六进制数化成十进制的数,然后对照ACSII码表进行对照就可以找到对应的字符了。
总而言之,对于\ddd与\xdd这两个转义字符,都要通过ACSII表去找对应的字符。
*这里有个小小的区别:\ddd 只计算后面3位八进制,而\x会把后面所有的位都计算!
练习:
答案: