代码如下:
#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的数组,都不能被' \ '转义,所以,大家明白了吧 |
|