黑马程序员技术交流社区
标题:
关于转义字符的一点小发现
[打印本页]
作者:
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