特殊转义字符的长度判断 C语言
#include <stdio.h>
#include "stdafx.h"
#include <string.h>
int main(int argc, char* argv[])
{
printf("该字符串长度为:%d\n",strlen("e:\test\234\458"));
}
解释说明一下:strlen()方法必须要有“#include <string.h>”头文件,此方法出自于该文件里,所以必须加上。
运行结果为:
为什么为9呢??
我这里说明一下:正确个数判别为下:
-
\t为1个长度,是因为它是水平制表符
-
\234是一个长度,是因为它是\ddd型,且所有d<8。
-
\458之所以分为\45和8两个长度,虽然也是\ddd型,但是其中的d=8了,然而八进制位里不会出现8数字,所以8另外算一个长度;
-
同理,如果是\588,则是3个长度,分别分为:\5是一个长度; 8是一个长度; 8是另外一个长度。