有以下程序: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",sizeof(p)); } 程序运行后的输出结果是( )。A.9B.6C.11D.7

题目
有以下程序: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",sizeof(p)); } 程序运行后的输出结果是( )。

A.9

B.6

C.11

D.7


相似考题
更多“有以下程序:#include<string.h>main(){char p[20]={'a','b','c','d'),q[]="abc",r[]="abcde"strc ”相关问题
  • 第1题:

    有以下程序: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正确。

  • 第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题:

    有以下程序: 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。

  • 第4题:

    有以下程序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


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

  • 第5题:

    有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

    有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。