数据结构与算法里,测试字符串长度时,()。A、不计算’/0’在内B、计算’/0’在内C、有多个’/0’时只计算一个的数量D、没有’/0’的字符数组也可以用strlen计算出数组的正确长度

题目

数据结构与算法里,测试字符串长度时,()。

  • A、不计算’/0’在内
  • B、计算’/0’在内
  • C、有多个’/0’时只计算一个的数量
  • D、没有’/0’的字符数组也可以用strlen计算出数组的正确长度
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序 #include 〈string.h〉 main ( ) { char p[]={'a','b ,'c'}, q[10]={'a','b','c'}; printf("%d %d\n",strlen(p),strlen(q)); } 以下叙述中正确的是

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符申结束符,长度不能确定;但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定:但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定


正确答案:B
解析:本题考查了对字符数组赋初值.使用初始化列表对字符数组赋初值,系统不会自动为其添加字符串结束符,使用字符串初始化时才会自动添加,所以选项A是错的。数组长度在未指定的情况下由初始化列表项中数据的个数决定,若已指定且初始化项数不足时,多出部分会自动初始化为0,0等价于字符串结束符'\0'。所以选项B是正确的,C和D都是错误的。本题应该选B。

第2题:

在C语言中,关于字符串描述错误的是( )。

A.C中的字符串是作为字符数组来处理的

B.C语言规定:以‘\0’作为字符串结束标志

C.char str[]={"hello\nworld!"}; puts(str); 输出: hello\n world!

D.可以利用strlen(字符数组)测试字符串的长度


正确答案:C

第3题:

有以下程序

#include<string.h>

main()

{ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};

printf("%d%d\n",strlen(p),strlen(q));}

以下叙述中正确的是

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定


正确答案:A
解析:在给p和q数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组p和q都有3个字符,所以长度均为3。

第4题:

数据结构里,字符数组可能没有’/0’,但是字符串一定有’/0’。


正确答案:正确

第5题:

以下对C语言字符数组描述中,正确的是()

  • A、可以用length函数计算字符数组中字符串的长度
  • B、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
  • C、存放在字符数组中的字符串,以’/0’作为该字符串结束标志
  • D、字符数组只能存放字符串,不能存放字符

正确答案:C

第6题:

有以下程序: include include main( ) {char p[] = {'a','b','c'] ,q[10

有以下程序: #include <stdio.h> #include <string.h> main( ) { char p[] = {'a','b','c'] ,q[10] = {'a','h','c'} prinff( "% d % d\n" , strlen (p) , strlen (q) );以下叙述中正确的是( )。

A.在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于P数组中没有字符串结束符,长度不能确定;q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定;p数组中字符长度为3

D.由于p和q数组中没有字符串结束符,故长度都不能确定


正确答案:B
解析:strlen函数用于计算以,'\0'结束的字符串的长度,函数值为字符串的实际长度,长度中不包括,'\0'。q数组定义的数组大小为10,而初始化时字符串只占用了前3个存储单元,其余存储单元系统自动加'\0',故数组q的长度为3;而p数组定义时没有指定大小,其大小根据初始化所赋值确定为3,没有字符串结束符,故字符串的长度不能确定。

第7题:

下列说法正确的是( )。

A.字符型数组与整型数组可通用

B.字符型数组与字符串其实没有什么区别

C.当字符串放在字符数组中时,要求字符数组长度比字符串长1个单元,要放字符串终结符'\0'

D.字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别


正确答案:C
解析:选项A要在一定的数值范围内;选项D中,若字符串存储在字符数组中,而且字符数组比字符串长,则输出时可能会输出空格,因为字符数组没有存储“\0”终结符,字符串整体输出却不会;选项B同选项D。

第8题:

有以下程序includemain(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf("%d%d\

有以下程序 #include<string.h> main() { charp[]={'a','b','c'},q[10]={'a','b','c'}; printf("%d%d\n",strlen(p),strlen(q));} 以下叙述中正确的是

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定


正确答案:A
解析: 在给p和q数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组p和q都有3个字符,所以长度均为3。

第9题:

strlen计算字符串长度时候计算’/0’在内。


正确答案:错误

第10题:

数据结构里,关于字符串描述正确的是()。

  • A、字符串可以为空串
  • B、字符串的长度计算’/0’在内
  • C、字符串比较函数strcmp返回值类型是char
  • D、字符串求长度使用strcat

正确答案:A

更多相关问题