字符串长度包括0吗

@狄标19326785748 语言中 用" " 引起来的字符串长度可为0 是什么意思呀,长度为0还是串吗? 谢谢啦 ~~~~ -
******6015刁思 要点:字符数组 char a[3] ={'a','b','c'},3表示里面有三个字符,没有字符串的尾巴'\0',所以不是字符串 要点:字符串就是特殊的字符数组,即它的最后一个字符是'\0' char a[4]=“abc”; 等价于 char a[4] = {'a','b','c','\0'},注意它的特点就是有'\0' 而我们算一个字符串的长度是不包括它的尾巴'\0'的,所以上面的字符串长度是3而,不是4!但在内存中尾巴是存在的,所以要需要一字节内存!因为总字符数才是4(包括'\0'了) 总之,字符串的大小可以是0,但0的字符串也是有'\0'这尾巴,也就是说字符串的字符数至少为1

@狄标19326785748 字符串数组的长度 -
******6015刁思 是14个,因为\n算一个换行字符,\t是一个退格字符,两个\\都是一个反斜杠字符,最后自动添加一个结束字符.你可以单步调试,跟踪一下s数组中的内容就知道了. 楼主问的是字符串数组的长度,自然就要有结束符'\0'了,要是说字符串的长度那是没有的.所以对于楼主的答案,应该是有'\0'的.

@狄标19326785748 已知:char *s="\Name\\Address\n";则s所指的字符串的长度为() -
******6015刁思 \Name\\Address\n中可以分为\、N、a、m、e、\\、A、d、d、r、e、s、s、\n共14个字符(含转义字符) 还应注意一下几点: 1、转移字符应视作一个字符,这个可查找相关资料; 2、\0具有终止意义,即一个字符串中第一次出现\0之前的字符个数才能视为该字符串长度 注:比一期有时会提醒你\N是一个不能识别的转义字符,故算作两个字符(其实正常情况下就是两个,除非你大小写搞错了)

@狄标19326785748 C++字符串长度
******6015刁思 1.'A'是一个字符,占一个字节 “A”是一个字符串 “A”就等于'A'+'\0'占两个字节 所以是2 \0是字符串的结束标志 2.书上的写法的确有问题 要按长度来说“A”是1,只是它占两个字节而已

@狄标19326785748 C++中字符数组的问题 -
******6015刁思 定义字符数组只是在内存中分配空间,可以存放任意ASC码字符.如 char a[5]; 表示字符数组a可以存储5个字符,并不一定是“\0”.但为了方便,字符数组常用于处理字符串,而字符串结束符是“\0”,所以在初始化字符数组或将字符数组中...

@狄标19326785748 如何在c语言中计算字符串长度 -
******6015刁思 C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符.方法: 1. 自定义函数求长度 2. 使用strlen()函数 3. 使用sizeof()操作符 自定义函数: int cont_str(char *s) { int i = 0; while ( str[i++] != '\0') ; return i; } 使用...

@狄标19326785748 字符串的长度问题,答案为什么是12和13.求解释. -
******6015刁思 这显然是错题,char s[]=""char s[]="\065\t\"\xe4\n"";这样的定义连编译都过不了.如果是char s[]="\065\t\"\xe4\n";这样的话,输出也不会是“12,13”而应该是“5,6”.因为\065是八进制ASCII码字符'5'(十进制53),\t是制表符,\"...

@狄标19326785748 char a[50]="c progrem" 求字符串的长度,指哪啊,包括结尾的\0吗? -
******6015刁思 字符串长度.除去最后的空字符的.所以,应该是9(但是包括空格)

@狄标19326785748 计算字符串长度是要不要加上\0 -
******6015刁思 \0是结束标志,在计算长度时不需要计入的.你举的例子长度是5

@狄标19326785748 关于C语言字符数组中字符串长度问题 -
******6015刁思 在这里 \012是一个整体 而不是\0.说遇到\0指的是遇到ascii码值为0的字符. \012是八进制表示,为ascii码值0x0A的字符.这个当然不是0了.所以遇到\012不会停止. strlen是不包括结束符\0的,而sizeof包含\0,所以这里sizeof比strlen多1.

为传递更多信息,若有事情请联系
数码大全网