黑马程序员技术交流社区

标题: 关于转义字符的一点小发现 [打印本页]

作者: wwf707542865    时间: 2015-10-6 23:09
标题: 关于转义字符的一点小发现
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
    char str[ ]="ab\013r";
    char str1[ ]="ab\091r";
    printf("%lu,%lu\n",strlen(str),sizeof(str));
    printf("%lu,%lu\n",strlen(str1),sizeof(str1));
    return 0;
}
得出来的结果:第一个打印得出4,5,第二个打印得出2,7
这是为什么呢,因为转义字符在计算机中以8进组的方式表示,凡是超过7的数组,都不能被' \ '转义,所以,大家明白了吧
作者: 0919Gflag    时间: 2015-10-6 23:57
感谢大神解惑  纠结了一晚上这个问题了  THX  膜拜
作者: wwf707542865    时间: 2015-10-7 22:00
0919Gflag 发表于 2015-10-6 23:57
感谢大神解惑  纠结了一晚上这个问题了  THX  膜拜

同学,你坐几排第几列
作者: wxd123    时间: 2015-10-7 22:45
感觉说得哪里不对
作者: 0919Gflag    时间: 2015-10-7 22:49
wwf707542865 发表于 2015-10-7 22:00
同学,你坐几排第几列

在你前边坐着
作者: lvguodong    时间: 2015-10-7 23:12
是的。用到了    \ddd    表示1-3位八进制数所代表的字符。      \xhh       表示1-2位十六进制数所代表的字符
作者: 朱玉丁    时间: 2015-10-8 19:27
赞,顶一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2