有以下字符串,说明表达式strlen(s)值的是( )。char s[10]={'a','\n','a','b','\t','c'};A)10B)1C)6D)7

题目

有以下字符串,说明表达式strlen(s)值的是( )。

char s[10]={'a','\n','a','b','\t','c'};

A)10

B)1

C)6

D)7


相似考题
更多“有以下字符串,说明表达式strlen(s)值的是( )。char s[10]={'a','\n','a','b','\t','c'};A)10 B)1 ”相关问题
  • 第1题:

    对于下列字符串,说明表达式strlen(s)值的是( )。

    char s[10]={'a','\n','a','b','\t','c'};

    A.10

    B.1

    C.6

    D.7


    正确答案:C
    解析:strlen(s)返回s字符串中字符的个数,若s是个数组,则返回数组元素的个数。

  • 第2题:

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

  • 第3题:

    有以下程序main(){ char s[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是

    A.赋初值的字符串有错

    B.6,7

    C.5,6

    D.6,6


    正确答案:C
    解析:转义字符'\',表示换行;'\\'表示'\'且strlen()函数计算字符串的长度,不包括文件结束标识位'\0',sizeof()函数统计字符串所占的字节数。

  • 第4题:

    有以下等程序include void f(char *s, char *t){ chark; 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 stt[10] ="abcdefg", *p; p=str+strlen (str)/2+1; f (p,p-2); print f ( "%s\n", str);}

    A.abcdefg

    B.gfedcba

    C.gbcdefa

    D.abedcfg


    正确答案:B
    解析:本题考查的是递归函数。在一个函数中直接或间接地调用了自身,则称此函数为递归函数。本题定义的函数f()就是一个递归函数。它先交换两个字符指针所指的内容,然后将第1个指针往后移动一位,第2个指针往前移动一位,如果第1个指针所指内容不是字符串结束标志,则递归调用自身。主函数中首先定义了一个字符数组sTR[10]="abcdefg",然后定义了一个字符指针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所指的3tr[2]及其以前的2个位置str[1]、str[0]中的内容互相交换。即让整个字符串逆序。所以本题应该选择B。

  • 第5题:

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

  • 第6题:

    若有以下定义: char s(10)="program",t[]="test"; 则下列选项中对字符串操作错误的是( )。

    A.strcpy(s,t);

    B.strcat(s,t);

    C.cout<<strlen(s);

    D.gets(s);


    正确答案:B

  • 第7题:

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

  • 第8题:

    有以下程序:includeincludevoid fun(char*s[],int n){char*t;int i,j;for(

    有以下程序: #include<stdio.h> #include<string.h> void fun(char*s[],int n) { char*t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;} } main() { Char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A

  • 第9题:

    以下程序的输出结果是______。includeincludefun(char *w,int n){ char t,*

    以下程序的输出结果是______。 #include<stdio.h> #include<siring.h> fun(char *w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2-; *s2=t; } } main() { char *p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在子函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环,w=“1711717”。

  • 第10题:

    以下程序的输出结果是_______。includeincludefun(char*w,int n){char t,*s

    以下程序的输出结果是_______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++: *sl=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在于函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环,w="1711717"。

  • 第11题:

    有以下程序includeincludevoidfun(char,*s[],intn){char*t;inti,j; for(i=

    有以下程序 #include <stdio.h> #include <string.h> void fun(char,*s[],int n) { char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} } main() { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析:函数fun(char,s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第12题:

    ( 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

     

  • 第13题:

    以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。

    A.char s[10]=="abcdefg";

    B.char t[]="abcdefg",*s=t;

    C.char s[10];s="abcdefg";

    D.char s[10];strcpy(s,"abcdefg");


    正确答案:C
    解析:选项A中定义了一个字符型数组并使用字符串常量给它赋初值,故选项A正确。选项B定义了一个字符型数组t并初始化,然后定义了一个指针变量s并让它指向t,故选项B正确。选项C先定义了一个长度为10的字符型数组,然后再给它赋值,这时应该分别给数组中的每个元素赋值,故选项C不正确;选项D中先定义了一个长度为10的字符型数组s,然后通过字符串复制函数将字符串“abcdefg”赋值给它,选项D正确。所以,4个选项中选项C符合题意。

  • 第14题:

    有以下程序

    #include <stdio.h>

    #include <string.h>

    void fun(char *s[],int n)

    { char *t; int i,j;

    for(i=0;i<n-1;i++)

    for(j=i+1;j<n;j++)

    if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}

    }

    main()

    { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

    fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);

    }

    程序的运行结果是

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析:函数fun(char *s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy", "bcc", "bbcc", "aabcc", "aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第15题:

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

  • 第16题:

    有以下程序并includeincludefun(char * w,int n){char t,*s1,*s2; s1=w;s2=

    有以下程序 并include<stdio.h> #include<string.h> fun(char * w,int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s1<s2) { t=*s1++; * s1=*s2--; * s2=t; } } main() { char p[]="1234567"; fun(p,strlen(p)); puts(p); } 程序运行后的输出结果是( )

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C

  • 第17题:

    有以下字符串,说明表达式strlen(s)值的是( )。

    char s[10]={'a','\n','a','b','\t','c'};

    A)10

    B)1

    C)6

    D)7


    正确答案:C
    strlen(s)返回s字符串中字符的个数,若S是一个数组,则返回数组元素的个数。

  • 第18题:

    有以下程序 include include void fun(char s[][10],int n

    有以下程序 #include <stdio.h> #include <string.h> void fun(char s[][10],int n) { char t; int i j; for (i=0; i<n-1; i++) for 0--i+l; j<n; j++) /*比较字符串的首字符大小,并交换字符串的首字符*/ if(s[i][0] > s[j][0]) { t = s[i][0]; s[i][0] = s[j][0]; s[j][0] = t;} } main() { char ss[5][10]= {"bcc", "bbcc", "xy", "aaaacc", "aabcc" }; fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]); } 程序的运行结果是

    A.xy, aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D
    解析:在函数fun()中有一个两层嵌套的for循环,外循环变量i从0递增到n-2,内循环变量i从i+1循环递增到n-1,这是选择排序算法的标准结构。循环体中因为逆序条件为“s[i][0]> s[j][0]”,所以实现的是升序排序。由此可见,fun()函数实现的功能是对一个二维字符数组前n行的首字符进行升序排序。主函数中定义的二维数组初始化为{"bcc",”bbcc", "xy","aaaacc","aabcc"},通过fun()函数的排序后,结果将为acc","abcc","by", "baaacc","xabcc"}。故最终输出字符串ss[0]和ss[4]的结果为acc,xabcc,应该选择D。

  • 第19题:

    以下程序的输出结果是______。includeincludefun(char*w,int n){ char t,*s

    以下程序的输出结果是______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在子函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环, w="1711717"。

  • 第20题:

    有以下程序includeincludevoidfun(char*s[],intn){char*t;int i,j;for(i=0

    有以下程序 #include <stdio.h> #include <string.h> void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i];s[j];s[j]=t;} } main() { char *ss[]={"bcc

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析: 函数fun(char*s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc"," bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第21题:

    若有以下定义和语句

    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'和'\\'均表示一个字符。

  • 第22题:

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

  • 第23题:

    有以下程序

    #include <stdio.h>

    #include <string.h>

    void fun(char s[][10],int n)

    {char t; int i,j;

    for(i=0;i<n-1;i++)

    for(j=i+1;j<n;j++)

    /*比较字符串的首字符大小 ,并交换字符串的首字符*/

    if(s[i][0]<s[j][0]) {t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;}

    }

    main()

    {char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};

    fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);

    }

    程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D

  • 第24题:

    单选题
    有以下程序:#include #include void fun(char *s[],int n){ char *t; int i,j; for(i=0;i  for(j=i+1;j   if(strlen(s[i])>strlen(s[j]))   {    t=s[i];    s[i]=s[j];    s[j]=t;   }}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s",ss[0],ss[4]);}程序的运行结果是(  )。
    A

    xy,aaaacc

    B

    aaaacc,xy

    C

    bcc,aabcc

    D

    aabcc,bcc


    正确答案: B
    解析:
    函数fun的功能:将字符串数组 s中前n个字符串按照字符串的长度由小到大进行排序,要求输出数组的第一个和第五个字符串的内容,答案选择A选项。