计算机二级

有以下程序include.main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));} 程有以下程序 #include.<string.h> main() { char *p="abcde\ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是A.12B.15C.6D.5

题目
有以下程序include.main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));} 程

有以下程序 #include.<string.h> main() { char *p="abcde\ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是

A.12

B.15

C.6

D.5

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: include main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"

有以下程序: #include <string.h> main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r); strcpy(p+strlen(q),q); printf("%d\n",strlen(p)); } 程序运行后的输出结果是( )。

A.9

B.6

C.11

D.7


正确答案:B
解析:本题首先定义了3个字符数组p、q、r并分别被初始化。数组p指定的大小为20,初始化列表为{'a','b','c','d'},即只指定了前4个元素的内容,根据C语言的规定,初始化列表不足时,其余元素均自动初始化为0。然后通过strcat()函数,将字符串,连接到字符串p之后,即执行后p中的内容为"abcdabcde"。因为“strlen(q)”表示求字符串q的长度,很明显为3,所以语句“strcpy(p+strlen(q),q);”的作用就是:将字符串q拷贝到数组p的第3个元素位置处。注意,strcpy函数拷贝字符串会将其结束标志位一起拷贝,故拷贝完后p中的内容为”ababc\0de",但通过strlen函数取p的长度碰到'\0\即停止,故p中字符串的长度是6,应该选择B。

第2题:

有以下程序: include main( ) { char *p="abcde\0ghjik\0"; printf("%d\n",str

有以下程序: #include<string.h> main( ) { char *p="abcde\0ghjik\0"; printf("%d\n",strlen(p) ); } 程序运行后的输出结果是

A.12

B.15

C.6

D.5


正确答案:D

第3题:

有以下程序:includemain(){char *p="abcde\Ofghjik\0";printf("%d\n",strlen(p));}程

有以下程序: #include <string.h> main() {char *p="abcde\Ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是( )。

A.12

B.15

C.6

D.5


正确答案:D
解析:本题首先定义了一个字符型指针变量p,并用一个字符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。由于字符串的结束标记为、0,其长度为第1个\0前的字符个数,故长度为5。所以4个选项中D正确。

第4题:

有以下程序includemain(){char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde";strc

有以下程序 #include<string.h> main() {char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r);strcpy(p+strlen(q),q); printf("%d\n",strlen(p)); } 程序运行后的输出结果是

A.9

B.6

C.11

D.7


正确答案:B
解析: strcpy()函数的功能是将字符串q复制到从p[3]位置开始的存储单元,同时复制字符串结束标志 '\0'到P[6]中。函数strlen()返回的是字符串中不包括'\0'在内的实际长度,故本题答案为B)。

第5题:

有以下程序includemain(){char *p=“abcde、Ofghjik\0”;printf(“%d\n”,strlen(p));} 程

有以下程序 #include<string.h> main() { char *p=“abcde、Ofghjik\0”; printf(“%d\n”,strlen(p)); } 程序运行后的输出结果

A.12

B.15

C.6

D.5


正确答案:D
解析:本题首先定义了一个字符型指针变量p,并用一个字符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。字符串的结束标记为“\0”,其长度为“\0”前的字符个数,故长度为5。

第6题:

有以下程序:includeincludevoid main( ){char * p="abcde\0fghjik\0";c

有以下程序: #include<string.h> #include<iostream.h> void main( ) { char * p="abcde\0fghjik\0"; cout < < strlen(p) ;} 程序运行后的输出结果是

A.12

B.15

C.6

D.5


正确答案:D
解析:C++语言规定了一个字符串结束标志,以字符'\0'代表,在遇到'\0'时,表示字符串结束,由它前面的字符组成字符串。

第7题:

有以下程序includeincludevoid main( ){char*p="abcde\0fghjik\0"; cou

有以下程序 #include<string.h> #include<iostream.h> void main( ) { char*p="abcde\0fghjik\0"; cout<<strlen(p);} 程序运行后的输出结果是

A.12

B.15

C.6

D.5


正确答案:D
解析:C++语言规定了一个字符串结束标志,以字符'\0'代表,在遇到'\0'时,表示字符串结束,由它前面的字符组成字符串。

第8题:

有以下程序 include main() { char p[20]={'a','b','c','d'},q[]="abc",r[]

有以下程序 #include<string.h> main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r);strcpy(p+strlen(q),q); printf("%d\n",strlen(p)); } 程序运行后的输出结果是

A.9

B.6

C.11

D.7


正确答案:B
解析:strcpy()函数的功能是将字符串q复制到从p[3]位置开始的存储单元,同时复制字符串结束标志‘\0’到p[6]中。函数strlen()返回的是字符串中不包括‘\0’在内的实际长度,故本题答案为B)。

第9题:

有以下程序

#include

main()

{ char *p="abcde\0fghjik\0 ";

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

}

程序运行后的输出结果是

A.12

B.15

C.6

D.5


正确答案:D