更多“设有定义:"char s[12]={"string"};" 则printf("%d\n",strlen(s));的输出是( )A.6B.7C.11D.12”相关问题
  • 第1题:

    以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s));

    A.9

    B.12

    C.13

    D.14


    正确答案:A
    解析:本题考核的知识点是字符串的长度。字符数组中可以存放字符串,但字符数组的长度并不是字符串的长度,字符串的长度是指字符数组中存放的有效字符个数,即,'\0'之前的字符数。字符数组s中依次存放的字符是:'\\"1"4"1"141"a"b"c"\t'和最后一个字符串结束标记'\0',故字符串的长度是9。所以,4个选项中A为所选。

  • 第2题:

    以下程序的输出结果,是_______。 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。

  • 第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”,其长度为“\0”前的字符个数,故长度为5。

  • 第4题:

    有以下程序

    inculde <stdio.h>

    inculde <string.h>

    void Fun(char*str)

    { char temp;int n,I;

    n=strlen(str);

    temp=str[n-1];

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

    str[0]=temp;

    }

    main()

    { char s[50];

    ScanF(“%s”,s);Fun(s);printF(“%s\n”,s);}

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


    正确答案:fabcde
    fabcde 解析:在函数fun中,先求出字符串str的长度,并将最后一个字符暂存到temp中,然后使用循环语句将所有字符向右移动一个位置,最后将temp中的字符放到字符串的第1个位置,所以结果为fabcde。

  • 第5题:

    若有以下定义和语句

    char s1[10]=”aBcd!”,*s2=”\n123\\”

    printF(“%d%d\n”,strlen(sl),strlen(s2));

    则输出结果是

    A.5 5

    B.10 5

    C.10 7

    D.5 8


    正确答案:A
    解析:计算字符串长度是从第一个字符开始到'\0'前的一个字符结束。第一个字符串长度为5,分别为'a'、'b'、'c'、'd'、'!'第二个字符串的长度也为5,分别为'\n','1','2','3','\\',其中'\n'和'\\'均表示一个字符。

  • 第6题:

    以下程序的输出结果是______。 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。

  • 第7题:

    设有如下程序: #include'string.h" main() { static char s1[20],s2[20]; scanf("%s",s1);scanf("%s",s2); if(strcmp(s1,s2)) printf("@"); else printf("$"); printf("%d\n",strlen(strcat(s1,s2))); } 如果从键盘上输入name1<回车>name2<回车>,则程序运行后的输出结果是( )。

    A.$9

    B.@11

    C.$10

    D.@10


    正确答案:D
    解析:本题首先定义了两个字符数组,然后从键盘读入两个字符串"name1"和"name2"分别赋给它们,接下来使用strcmp()函数比较两个字符串是否相等,若不相等就输出一个‘@’字符,否则输出一个‘$’字符,所以本题先输出一个‘@’字符。最后使用strcat()函数将两个字符串连成一个,然后使用strlen()函数求连接后的字符串长度,所以接下来又输出一个10。故本题的正确答案为D。

  • 第8题:

    ( 31 )若有以下定义和语句

    char s1[10]= " abcd! " ,*s2= " \n123\\ ";

    printf ( " %d %d\n ", strlen ( s1 ) ,strlen ( s2 ) ) ;

    则输出结果是

    A ) 5 5

    B ) 10 5

    C ) 10 7

    D ) 5 8


    正确答案:A

     

  • 第9题:

    以下程序段的输出结果是()。    Char s[]I=”/1238/080abc”;    printf(”%d/n”,strlen(s));


    正确答案:2

  • 第10题:

    设有定义:chars[12]=“string“;,则printf(“%d/n”,strlen(s));的输出是()。

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

    正确答案:A

  • 第11题:

    若有定义和语句: char s[10]:s=""abcd"";printf(""%s/n"",s); 则结果是(以下u代表空格)()

    • A、输出abcd
    • B、输出a
    • C、输出abcduuuuu
    • D、编译不通过

    正确答案:D

  • 第12题:

    填空题
    以下程序段的输出结果是()。    Char s[]I=”/1238/080abc”;    printf(”%d/n”,strlen(s));

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

  • 第13题:

    以下程序的输出结果是()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

  • 第14题:

    以下程序运行后输入: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()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第15题:

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

  • 第16题:

    设有定义:char s[12]={"hello"},则cout<<strlen(s)的输出是 ______。

    A.5

    B.6

    C.11

    D.12


    正确答案:A

  • 第17题:

    若有以下定义语句: char * sl="12345", * s2="1234"; printf("%d"n",strlen(strcpy(s1,s2))); 则输出结果是 ( )

    A.4

    B.5

    C.9

    D.10


    正确答案:A

  • 第18题:

    设有 static char str[]="Beijing"; 则执行 printf("%d\n",strlen(strcpy(str,"China"))); 后的输出结果为_______。

    A.5

    B.7

    C.12

    D.14


    正确答案:A
    解析:在执行printf()函数前,数组str的长度是7,但是当使用strcpy()函数将新的值赋给str后,strlen()函数返回的应当是现在的str字符串的字符个数,即是5。

  • 第19题:

    设已执行预编译命令include,以下程序段的输出结果是()。char s[]="an apple";printf("

    设已执行预编译命令#include<string.h>,以下程序段的输出结果是( )。 char s[]=" an apple" ; printf(" %d\n" ,strlen(s));

    A.7

    B.8

    C.9

    D.10


    正确答案:B
    解析:如果一个字符数组中存放一个字符串,则函数strlen的值为“\0”之前的全部字符个数,也包括空格在内。注意:字符串处理函数的使用。

  • 第20题:

    设有定义:chars[12]=“string“;则printf(“%d/n“,sizeof(s));的输出是()。

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

    正确答案:B

  • 第21题:

    设有定义char*p=“abcde/0fghjik/0”;则printf(“%d/n”,strlen(p));输出结果是()

    • A、12
    • B、15
    • C、6
    • D、5

    正确答案:D

  • 第22题:

    设有char*a=”ABCD”;,则printf(“%s”,a)的输出是(),而printf(“%c”,*a)的输出是()。


    正确答案:ABCD;A

  • 第23题:

    单选题
    若有以下定义和语句:char s1[10]=abcd!, *s2=n123\\;printf(%d%d, strlen(s1), strlen(s2));则输出结果是(  )。
    A

    55

    B

    105

    C

    107

    D

    58


    正确答案: C
    解析:
    strlen函数是计算字符串长度的函数,求字符串的实际字符个数,不包括字符'\0'在内,在字符'\0'之后的所有字符均不计入长度中。所以strlen(s1)=5。而以"\"开头的字符序列是转义字符,"\\"的含义是一个字符'\',所以s2所指向的内容实际上是"n123\",所以strlen(s2)=5。答案选择A选项。