更多“下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));A.8B ”相关问题
  • 第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题:

    有以下程序: point(char *p){P+=3;) main() { char b[4]={'a','b','c','d'},*p=b; point(p);printf("%c\n",*p); } 程序运行后的输出结果是( )。

    A.a

    B.b

    C.c

    D.d


    正确答案:A
    解析:本题的考点是C语言的函数参数的传递方式(传值)。函数poret的形参是一个char型指针p,当调用point(p)时,将指针p的值传递给形参,函数point中的p+=3,并不影响主程序main中的p值,因此函数调用结束后,p仍指向b的首地址,输出*p的值应是字符a。

  • 第3题:

    下面程序段的运行结果是( )。 char*p="abcdefgh"; p+ =3; printf("%d\n",stfien(strcpy(p,"ABCD")));

    A.8

    B.12

    C.4

    D.7


    正确答案:C
    解析:p+=3使指针p指向字符"d",函数strcpy的功能是把后面的字符串复制到p指针指向的空间;strlen函数的功能是求字符串的长度,并返回字符个数,不计最后的"\0"。本题结果为4,即字符串“ABCD”的长度。

  • 第4题:

    有以下程序: point(char *p) { p+=3; } main() { char b[4]={'a','b','c','d'}, *p=b; point(p); printf("%c\n",*p); } 程序运行后的输出结果是( )。

    A.a

    B.b

    C.c

    D.d


    正确答案:A
    解析:本题的函数只是改变了形参指针变量p的值,这对程序没有任何影响,主函数中p一开始就是指向b[0],最后输出时还是b[0]的值'a'。所以应该选择A。

  • 第5题:

    以下程序段的输出结果是______。 char *p="abodefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"12345")));

    A.8

    B.12

    C.5

    D.7


    正确答案:C
    解析:本题主要考查strcpy()函数,char*strcpy(char*s1,char*s2)是把指针s2指向的串复制到指针s1指向的存储空间。