strlen函数c语言 c语言中strlen函数

C语言中strlen函数是怎么计数的? char str[]="\tab\n\012\\\""
字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2、3:ab
字符4:\n 转义字符,换行符,其ASCII 值10(十进制)
字符5:\012 转义字符,其中012是8进制数,其ASCII值 同\n.
字符6:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)
字符7:\" 转义字符 双引号",其ASCII值 34(十进制)
2.printf("%d \n", strlen("IBM\n012\1\\"));
字符1、2、3: IBM
字符4:\n 转义字符
字符5、6、7:012
字符8:\1 其ASCII值 1(8进制).
字符9:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)
3. printf("%d \n",strlen("\t\"\065\xff\n"));
字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2:\" 转义字符 双引号",其ASCII值 34(十进制)
字符3:\065 ,代表字符5 , 其中065为8进制 格式,其ASCII为53(十进制)
字符4:\xff (这个我不知道怎么解释,请其它老师帮助解释)
字符5:\n
4.printf("%d \n",strlen("stop\0\n\""));
字符1、2、3、4:stop
因为strlen()函数遇到\0 就结束了,后面的字符就不去判断了 。
C语言中的字符串 是用\0作为 结束符 。
希望我的解答 对你有所帮助,很高兴和你一起讨论和学习C语言 。
c语言strlen函数用法strlen是求字符串长度的函数 。
函数原型:unsigned int strlen(char *s) 。
参数:s是char类型的指针,指向要求长度的字符串 。
返回值:返回字符串的长度,返回类型是无符号整型 。
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含“\0”) 。
扩展资料:
通过对C语言进行研究分析 , 总结出其主要特点如下:
1、简洁的语言
C语言包含的各种控制语句仅有9种 , 关键字也只有32 个,程序的编写要求不严格且以小写字母为主 , 对许多不必要的部分进行了精简 。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统 。
2、具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if、else语句和switch语句等,可以用于实现函数的逻辑控制,方便面向过程的程序设计 。
参考资料:百度百科—strlen
参考资料:百度百科—C语言
C语言中的strlen函数strlen()只是统计字符串的长度,统计到'\0'结束 , 但不包括'\0' , 这个与sizeof()不一样 。
对于用双引号引起来的字符串,系统默认最后一位字符为'\0' , 如你自己定义的:
char a[]="china";
char b[]={"china"};
另外,数组初始化还可以是一个字符一个字符赋值,如:
char c[]={'c','h','i','n','a'};
char d[]={'c','h','i','n','a','\0'};
但系统不会自动给你在最末位添加'\0’
所以在统计char c[]={'c','h','i','n','a'}时,统计到a时,系统还没找到\0,所以会继续统计,直到找到'\0'为止 。所以就有你第三个值为11的情况,这个根据不同的运行环境而定 。
C语言中strlen()函数的意思?strlen()是读取字符串长度的意思,举例如下
char a[]={'a','b','c'};
return strlen(a);
返回字符串a的长度,是3 。
需要注意的是 , strlen()函数需要string.h的头文件 。

推荐阅读