以下程序的输出结果是()。includeinclude main(){char str[12]={'s','t','r以下程序的输出结果是( )。 #include <stdio.h> #include <string.h> main() { char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str) ); }A.6B.7C.11D.12

题目
以下程序的输出结果是()。includeinclude main(){char str[12]={'s','t','r

以下程序的输出结果是( )。 #include <stdio.h> #include <string.h> main() { char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str) ); }

A.6

B.7

C.11

D.12


相似考题
更多“以下程序的输出结果是()。includeinclude main(){char str[12]={'s','t','r 以下程序的输出结果是( )。 #include <stdio.h> #include <string.h> main() { char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str) ); ”相关问题
  • 第1题:

    有以下程序:includeincludeincludevoid f(char*s,char*t){char k;k=*s; *

    有以下程序: #include<stdio.h> #include<string.h> #include void f(char*s,char*t) { char k; k=*s; *s=*t; *t=k; s++;t--; if(*s)f(s,t): } main() {char str[10]="abcdefg",*P; P=str+strlen(str)/2+1: f(p,p-2); printf("%s\n",str); } 程序运行后的输出结果是( )。

    A.abcdefg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B

  • 第2题:

    有以下程序:includevoid f(char*s,char*t){ char k;k=*s;*s=*t;*t=k;s++;t--;if(*s)f

    有以下程序: #include<string.h> void f(char*s,char*t) { char k; k=*s; *s=*t; *t=k; s++; t--; if(*s) f(s,t); } main( ) {char str[10]="abcdefg",*p; p=str+strlen(str)/2+1; f(p,p-2); printf(~%s\n",str); } 程序运行后的输出结果是 ______。

    A.abcdef

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:p=str+strlen(str)/2+1=str+4,f(p,p-2)的功能是将p[4]与p[2]互换,p[5]与p[1]互换,p[6]与p[0]互换,最后的结果为gfedcba。

  • 第3题:

    有以下程序:includemain(){ char str[][20]={"Hello","Beijing"),*p=str[0];printf("

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

    A.0

    B.5

    C.7

    D.20


    正确答案:C
    解析:主函数中定义了一个二维字符数组并初始化,初始化后的结果为str[0]="Hello"、str[1]="Beijng",然后定义一个字符指针变量p并让它指向str[0],即指向数组的首地址,而在C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故p+20后指针指向str[1],所以strlen(p+20);返回的是str[1]中字符串的长度,即"Beijng"的长度7,故4个选项中选项C符合题意。

  • 第4题:

    有以下程序:includemain(){charstr[][20]={"Hello","Beijing"}*p=str;printf("%\n",s

    有以下程序: #include <string.h> main() { char str[][20]={"Hello","Beijing"}*p=str; printf("%\n",strlen(p+20)); } 程序运行后的输出结果是

    A.0

    B.5

    C.7

    D.20


    正确答案:C
    解析:本题考核的知识点是二维数组的初始化及库函数strlen()的应用。主函数中定义了一个二维字符数组并初始化,初始化后的结果为str[0]="Hello",str[1]="Beijing",然后定义一个字符指针变量p并让它指向数组的首地址,即指向str[0],而在C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故p+20后指针指向str[1],所以strlen(P+20);返回的是str[1]中的字符串的长度,即Beijing的长度为7,所以最后输出的值为7,所以,4个选项中选项C符合题意。

  • 第5题:

    以下程序的输出结果,是_______。 main() { char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }

    A.6

    B.7

    C.11

    D.12


    正确答案:A
    解析:在C语言中,字符串的长度是其首字符到NULL(不含)字符的总字符个数。本题定义字符数组str的同时,对第7个元素,由系统自动加上“\0”,故字符串的长度为6。

  • 第6题:

    下列程序的输出结果是______。includeinclude using namespace std;void

    下列程序的输出结果是______。

    include <iostream.h>

    include <cstring.h>

    using namespace std;

    void fun(const char*s,char &C) {c=s[strlen (s)/2];}

    int main {)

    {

    char str [] ="ABCDE";

    char ch=str[1];

    fun(str,sh);

    cout<<Ch;

    return 0;

    }


    正确答案:C
    C 解析:本题考核数组的定义、使用以及函数的调用。fun函数的作用是将字符串str中间的字符赋值给地址传入的变量ch。所以ch的值将被修改为‘C’。

  • 第7题:

    以下程序:includemain(){char str[10];scanf("%s",&str);printf("%s\n",str);}运

    以下程序: #include<stdio.h> main() {char str[10]; scanf("%s",&str); printf("%s\n",str); } 运行上面的程序,输入字符串how are you,则程序的执行结果是( )。

    A.how

    B.how are you

    C.h

    D.howareyou


    正确答案:A
    解析:当从键盘输入bow are you时,由于scanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将how这3个字符送到了字符数组str中,并在其后自动加上结束符“\0”。

  • 第8题:

    有以下程序: include include void f(char * s,char*t){char k; k=*s;*s=*

    有以下程序: #include <stdio.h>#include <string.h>void f(char * s,char*t){ char k; k=*s; *s=*t; *t=k; s++; t--; if( * s) f(s,t);}main( ){ char str[10] :"abedefg", * p; p = str + strlen(str)/2+1; f(p,p -2); printf( "% s \n" ,str);程序运行后的输出结果是( )。

    A.abcdefg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:本程序的作用是将字符串str倒序。语句p=str+strlen(str)/2+1;将指针变量p指向字符'e'所在的存储单元,P-2指向字符,'c'所在的存储单元,在函数f中将这两个存储单元的内容交换,然后将f函数中指向字符'e'的指针变量s加1,指向字符'c'的指针变量t减1,继续将s和t指向的存储单元的内容进行交换,直到s指向的存储单元的内容为空为止。所以本题程序输出的结果是字符串"abcdefe”的倒序形式"gfedcba"。

  • 第9题:

    有以下程序:includeincludemain(){char str[][20]={"Hello","Beijing"},*P

    有以下程序: #include <stdio.h> #include <string.h> main() { char str[][20]={"Hello","Beijing"},*P=str[0]; printf("%d\n",strlen(p+20)); } 程序运行后的输出结果是( )。

    A.0

    B.5

    C.7

    D.20


    正确答案:C
    解析:本题考查字符数组和指针的运用。strlen是测试字符串长度的函数,函数的值为字符串的实际长度,不包括'/0'在内。str[][20]={"Hello","Beijing"}定义了一个2行20列的数组,数组的首地址是&str[0][0],p+20是从首地址向后移了20位,指针指向了str[1][0]处,此时求字符串的长度,是从str[1][0]开始的,即“Beijing”的长度,所以输出结果是7。

  • 第10题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*t){ char *p=t;retur

    以下程序的输出结果是【 】。

    include <stdio.h>

    include <string.h>

    char *fun(char *t)

    { char *p=t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第11题:

    以下程序的输出结果是()  #include      #include      main( )  {char str[12]={‘8’,‘t’,‘r’,‘i’, ‘n’,‘g’,‘、0’,‘a’};      printf(“%d/n”,strlen(str));} 

    • A、6
    • B、7
    • C、8
    • D、12

    正确答案:D

  • 第12题:

    单选题
    以下程序的输出结果是()  #include      #include      main( )  {char str[12]={‘8’,‘t’,‘r’,‘i’, ‘n’,‘g’,‘、0’,‘a’};      printf(“%d/n”,strlen(str));}
    A

    6

    B

    7

    C

    8

    D

    12


    正确答案: A
    解析: 暂无解析

  • 第13题:

    有以下程序:includevoid f(char *s, char *t){ char k;k=*s;*s=*t; *t=k;s++;t- -;

    有以下程序:#include <string .h>void f(char *s, char *t){ char k; k=*s; *s=*t; *t=k; s++; t- -; if(*s) f(s, t);}main(){ char str[10]="abcdefg",*p; p=str+strlen(str)/2+ 1; f(p,p-2); printf("%s\n", str);}程序运行后的输出结果是( )。

    A.abcdcfg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:本题定义的函数f()是一个递归函数。它先交换两个字符指针所指的内容,然后将第1个指针往后移动—位,第2个指针往前移动一位,如果第1个指针所指内容不是字符串结束标志,则递归调用自身。主函数中首先定义了—个字符数组sir[10]=“ahcdeft”然后定义了一个字符指针p=str+strlen(str)/2+1,即让p指向str+4(或&str[4])的位置。然后调用f(p,p-2);,这使得p所指的str[4]及其以后的2个位置str[5]、str[6]中的内容同p-2所指的str[p]及其以前的2个位置str[1]、str[0]中的内容互相交换。即让整个字符串逆序。所以本题应该选择B。

  • 第14题:

    以下程序的输出结果是()includeincludemain(){char str[12]={'s','t','r',

    以下程序的输出结果是( ) #include<stdio.h> #include<string.h> main() {char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }

    A.6

    B.7

    C.11

    D.12


    正确答案:A

  • 第15题:

    有以下程序: include void f(char *s,char *t) {char k; k=*s; +s=*t;

    有以下程序: #include<string.h> void f(char *s,char *t) {char k; k=*s; +s=*t; *t=k; S++; t--; if(*s) f(s,t); } main() {char.str[10]="abcdefg",*p; p=str+strlen(str) /2+1; f(p,p-2); printf("%s\n",str); } 程序运行后的输出结果是 ______。

    A.abcdefg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:本程序的作是将字符串str倒序。语句“p=str+strlen(str)/2+1;”用于将指针变量p指向e字符所在的存储单元,p-2指向了c字符所在的存储单元,在函数f中将这两个存储单元的内容交换,并使得f函数中指向c字符的指针变量s加1。指向c字符的指针变量t减1,然后继续将s和t指向的存储单元的内容进行交换,直到s指向的存储单元的内容为空为止。所以本题程序输出的结果是字符串“abcdefg”的倒序形式“gfedcba”。

  • 第16题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*0{ char *p--t;retur

    以下程序的输出结果是【 】。

    include <stdio.h>

    include <string.h>

    char *fun(char *0

    { char *p--t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:efgh
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第17题:

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

    include <string.h>

    move(char *str, int n)

    { char temp; int i;

    temp=str[n-1];

    for(i=n-1;i>0;i--) str[i]=str[i-1];

    str[0]=temp;

    }

    main( )

    { char s[50]; int n, i, z;

    scanf("%d,%s",&n,s);

    z=strlen(s);

    for(i=1; i<=n; i++) move(s, z);

    printf("%s\n",s);

    }


    正确答案:cdeab
    cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第18题:

    以下程序:includeincludemain(){char str[]="abcd\n\123\xab";printf("%d"

    以下程序: #include<stdio.h> #include<string.h> main() {char str[]="abcd\n\123\xab"; printf("%d",(str)); } 运行后的输出结果是( )。

    A.10

    B.9

    C.7

    D.14


    正确答案:C

  • 第19题:

    以下程序的输出结果是______。 main() { char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }

    A.6

    B.7

    C.11

    D.12


    正确答案:A
    解析:在C语言中,字符串的长度是其首字符到NULL(不含)字符的总字符个数。本题定义字符数组str的同时,对第7个元素,由系统自动添加上“\0”,故字符串的长度为6。

  • 第20题:

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

  • 第21题:

    当运行以下程序时,输入abcd,程序的输出结果是:( )。

    insert(char str[])

    {int i;

    i=strlen(str);

    while(i>0)

    {str[2*i]=str[i];str[2*i-1]='*';i--;}

    printf("%s\n",str);

    }

    main()

    {char str[40];

    scanf("%s",str);insert(str);

    }


    正确答案:a*b*c*d*
    a*b*c*d* 解析:字符处理函数strlen()测试字符串常量的长度,不包括‘\0’在内。因此,函数insert()实现了将字符数组中每个非‘\0’的字符后插入字符‘*’的功能。故输出结果是a*b*c*d*。

  • 第22题:

    以下程序的输出结果是_[13]_______

    #include <stdio.h>

    #include <string.h>

    char *fun(char *t)

    { char *p=t;

    return(p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=fun(str);

    puts(str);

    }


    正确答案:

    efgh 

  • 第23题:

    单选题
    有以下程序:#include #include main(){ char str[12]={'s', 't', 'r', 'I', 'n', 'g'}; printf(%d,strlen(str));}程序运行后的输出结果是(  )。
    A

    6

    B

    7

    C

    11

    D

    12


    正确答案: B
    解析:
    str[12]是字符数组,初始化时未赋初始值的自动赋值'\0',即str[12]={'s', 't', 'r', 'i', 'n', 'g', '\0', '\0', '\0', '\0', '\0', '\0'}。strlen函数求字符串长度,统计长度时以'\0'结束,即统计到长度为6时结束,strlen函数返回值为6。答案选择A选项。