strlen("China\n")的值是多少

如题所述

strlen是计算字符串长度,不包括字符串结束符,该问题主要是'\n'的问题,'\n'不是字符串结束符,那么就会在计算内,且'\n'为转义字符,为单个字符,所以strlen('China\n')结束为6。

strlen是求字符串长度的函数。
函数原型:unsigned int strlen(char *s);
参数:s是char类型的指针,指向要求长度的字符串
返回值:返回字符串的长度,返回类型是无符号整型
注意:
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含“\0”)。
实例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*s="GoldenGlobalView";
printf("%s has %d chars",s,strlen(s));
getchar();
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-12-01
strlen是计算字符串长度,不包括字符串结束符,该问题主要是'\n'的问题,'\n'不是字符串结束符,那么就会在计算内,且'\n'为转义字符,为单个字符,所以strlen('China\n')结束为6本回答被提问者和网友采纳
第2个回答  2015-09-23
PHP运行结果是6
echo strlen("China\n");//结果是6

第3个回答  2015-06-23
双引号,字符串,个数再加一!所以是6!!!!追答

亲如果满意的话记得采纳哦!

追问

\n不算吗?

追答

不算的,在字符串内作为一个转义字符不计算其长度。

亲记得采纳哦~谢啦~

第4个回答  2015-06-23
5应该是的
相似回答