单选题有以下函数: int fun(char *x,char *y) {int n=0;while((*x==*y)&&*x!='\0'){x++;y++:n++;} } 函数的功能是(  )。A 查找x和y所指字符串中是否有'\0'B 统计x、y所指字符串最前面连续相同的字符个数C 将y所指字符串赋值给x所指存储空间D 统计x和y所指字符串中相同的字符个数

题目
单选题
有以下函数: int fun(char *x,char *y) {  int n=0;  while((*x==*y)&&*x!='\0')  {   x++;   y++:   n++;  } } 函数的功能是(  )。
A

查找x和y所指字符串中是否有'\0'

B

统计x、y所指字符串最前面连续相同的字符个数

C

将y所指字符串赋值给x所指存储空间

D

统计x和y所指字符串中相同的字符个数


相似考题
更多“单选题有以下函数: intfun(char*x,char*y) {  intn=0;  while((*x==*y)*x!='\0')  {   x++;   y++:   n++;  } } 函数的功能是(  )。A 查找x和y所指字符串中是否有'\0'B 统计x、y所指字符串最前面连续相同的字符个数C 将y所指字符串赋值给x所指存储空间D 统计x和y所指字符串中相同的字符个数”相关问题
  • 第1题:

    函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp()),请填空。#include<stdio.h>int sstrcmp(char *s,char *t){ while(*s&&*t&&*s= =){s++;t++; }return;}


    正确答案:*t或t[0] *s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]
    当s所指字符和t所指字符不等时,退出循环;否则继续执行循环。当发现不等时,返回*s-*t,即如果s所指字符大于t所指字符,则返回值大于0,小于则返回值小于0.

  • 第2题:

    下述函数功能是______。 int fun(char*x) { char*y=x; while(*y++); return y-x-1; }

    A.求字符串的长度

    B.求字符串存放的位置

    C.比较两个字符串的大小

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

  • 第3题:

    有以下函数 fun(char *a, char *B) { while((*a!='\0')&&(*b!='\0')&&(*a==*B) ) { a++; b++;} return(*a-*B) ; } 该函数的功能是

    A.计算a和b所指字符串的长度之差

    B.将b所指字符串复制到a所指字符串中

    C.将b所指字符串连接到a所指字符串后面

    D.比较a和b所指字符串的大小


    正确答案:D
    解析:本题要求阅读的代码是一个函数,阅读之前先要看清函数的定义,该函数有两个参数,都是字符指针,这说明它接收的是两个字符串.该函数没有定义返回类型,C语言规定函数的返回类型为int时可以省略,所以切不可将其看成是无返回类型的void型函数,它是int型函数。函数体中除了返回语句外,只有一条while循环语句,该循环的循环条件为(*a!='\'0}&&(*b!='\0')&&(*a==*B),即当a和b所指处都不是字符结束符'\0'并且a和b所指处的内容相等时执行循环。而循环体中只是简单地将指针a和b同时往后移动1位。循环结束后返回a所指内容减去b所指内容的差。换个角度去考虑,也就是说当字符串a或b中有一个结束了或者是它们的相同位置中有一个字符不同时,则返回该位置两个字符之差。若两者长度相同而且所有对应字符都相同的话,最后返回的是'\0\-'\0'=0,否则的话就返回两个字符串第一对不相同的字符之差.这时应该可以看出来,这个函数实现的是对两个字符串的比较。所以,4个选项中D正确。

  • 第4题:

    下述函数功能是_______。 int fun(char*x) { char*y=x; while(*y++); return y-s-1; }

    A.求字符串的长度

    B.求字符串存放的位置

    C.比较两个字符串的大小

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

  • 第5题:

    下述函数功能是______。 int fun(char*x) { char*y=x; while(*y++) retumy-x-1; }

    A.求字符串的长度

    B.求字符串存放的位置

    C.比较两个字符串的大小

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:在函数体内定义—字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

  • 第6题:

    有以下函数

    函数的功能是( )。

    A.统计x和y所指字符串中最前面连续相同的字符个数

    B.查找x和y所指字符串中是否有’\0’

    C.将y所指字符串赋给x所指存储空间

    D.统计x和y所指字符串中相同的字符个数


    正确答案:A
    本题中由循环条件可知,当遇到l\0”’或“x与y所指的字符的值不相等”中的一个条件时就结束循环,因此本题函数的功能是统计x和y所指字符串中最前面连续相同的字符个数。

  • 第7题:

    有以下函数:

    函数的功能是( )。

    A.将Y所指字符串赋给x所指存储空间

    B.查找x和y所指字符串中是否有

    C.统计x和y所指字符串中最前面连续相同的字符个数

    D.统计x和Y所指字符串中相同的字符个数


    正确答案:C
    本题中由循环条件可知遇到‘\0’或x与y所指的字符的值不等中的一个条件时就结束,所以功能是统计x和Y所指字符串中最前面连续相同的字符个数。

  • 第8题:

    下列函数的功能是( )。 fun(char*a,char*b) . {while((*b=*a)!=\0){a++;b++;})

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有\O


    正确答案:A
    本题函数的功能是将a所指向的字符串赋给b所指向的空间。

  • 第9题:

    有以下函数

    int fun(char*x,char*Y)

    { int n=0;

    while((*x==y)&&*x!=’\0’){x++;y++;n++;)

    return n;

    }

    函数的功能是

    A.查找x和y所指字符串中是否有'\0'

    B.统计x和y所指字符串中最前面连续相同的字符个数

    C.将y所指字符串赋给x所指存储空间

    D.统计x和y所指字符串中相同的字符个数


    正确答案:B
    解析:从题中可以看出,依次比较x、y字符串中位置相同的字符,如果相同继续比较下一个字母并统计个数,不相同则退出,所以该函数的功能是统计两个字符串中最前面连续字符的个数。

  • 第10题:

    下面函数的功能是( )。 int fun(char *x) { char *y=X; while(*y++); return (y-x-1); }

    A.求字符串的长度

    B.比较两个字符串的大小

    C.将字符串x复制到字符串y

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:函数中,首先让字符串指针指向字符串x,然后通过while循环使y指向字符串x的尾部。再通过两指针之间的算术运算得出字符串x的长度。

  • 第11题:

    试题29

    有以下函数

    int fun(char *x, char *y)

    { int n=0;

    while ((*x==*y)&&*x!=’\0’) {x++; y++; n++;}

    return n;

    }

    函数的功能是()

    A.查找x和y所指字符串中是否有’\n’

    B.统计x和y所指字符串中最前面连续相同的字符个数

    C.将y所指字符串赋给x所指存储空间

    D.统计x和y所指字符串中相同的字符个数


    正确答案:B
    试题29分析
    while ((*x==*y)&&*x!=’\0’)    {x++; y++; n++;}的意思为如果x和y所指向的单元的内容相等且x所指单元的字符串没有结束,x,y和n均向后移一位,然后继续判断。即统计x和y所指字符串中最前面连续相同的字符个数。
    试题29答案
    B

  • 第12题:

    单选题
    下列函数的功能是(  )。fun(char * a,char * b){ while((*b= *a)!='\0') {  a++;  b++; }}
    A

    将a所指字符串赋给b所指空间

    B

    使指针b指向a所指字符串

    C

    将a所指字符串和b所指字符串进行比较

    D

    检查a和b所指字符串中是否有'\0'


    正确答案: B
    解析:
    函数fun中a和b是两个字符型指针,在while语句的表达式中将指针a所指向的字符赋给指针b所指向的内存单元,再判断指针b所指向的字符是不是字符串中的结尾符,若不是,则字符指针a和b分别自增,再执行循环语句,直至b所指向的字符为字符串中的空字符。所以答案选择A选项。

  • 第13题:

    有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是

    A.比较两个字符串的大小

    B.计算s所指字符串占用内存字节的个数

    C.计算s所指字符串的长度

    D.将s所指字符串复制到字符串t中


    正确答案:B
    解析:循环语句while(*t++);执行完时,指针变量t就指向了字符中结束符‘\o’之后的位置,所以语句return(t-s);返回的就是字符串s所用内存的字节个数。

  • 第14题:

    有以下函数:fun(char * a,char *b){ while((*a! ='\0')&&( * b! :'\0')&&( *a== *b)) {a++;b++;} return( *a-*b);} 该函数的功能是( )。

    A.将b所指字符串连接到a所指字符串中

    B.计算a和b所指字符串的长度之差

    C.将b所指字符串连接到a所指字符串后面

    D.比较a和b所指字符串的大小


    正确答案:D
    解析:两个字符串的比较是从左至右对两个字符串对应位置上的字符逐个进行比较,即按其ASCII码值的大小比较,直到出现不同的字符或遇到,'\0'为止。若全部字符都相同,则两个字符串相等,返回0;若出现不相同的字符,则返回第一个不相等字符的ASCII码的差值。fun函数实现了该功能。

  • 第15题:

    有下列函数: int fun(char*s) {char*t=s; while(*t++); return(t-s); } 该函数的功能是( )。

    A.比较两个字符串的大小

    B.计算s所指字符串占用内存字节的个数

    C.计算s所指字符串的长度

    D.将s所指字符串复制到字符串t中


    正确答案:C
    解析: 在函数fun(char*s)中,首先用字符指针变量t指向s,而循环语句while(*t++);的功能是使指针变量t指向字符串变量s的末尾,这时退出循环,因而语句return(t-s);返回的就是字符串s所指字符串的长度。

  • 第16题:

    以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


    正确答案:p+n
    在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
    在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
    如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

  • 第17题:

    下列函数的功能是

    fun(char *a,char *B)

    { while((*b=*A)! =‘\O’) {a++;b++;}}

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有‘\O’


    正确答案:A
    解析:表达式*b=*a是将a所指的字符赋给b所指的空间,然后,指针a和b依次后移,直到到达指针a所指字符串的结尾。

  • 第18题:

    下列函数的功能是( )。 A.将a所指字符串赋给b所指空间B.使指针b指向a所指字符串SXB

    下列函数的功能是( )。

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有’\0


    正确答案:A
    表达式*b=*a是将a所指的字符赋给b所指的空间,然后,指针a和b依次后移,直到到达指针a所指字符串的结尾。

  • 第19题:

    有以下函数: int fun(char * s) {char * t=s; while(*t++); return(t-s) 该函数的功能是______。

    A.比较两个字符串的大小

    B.计算s所指字符串占用内存字节个数

    C.计算s所指字符串的长度

    D.将s所指字符串复制到字符串t中


    正确答案:C
    解析: 定义一个字符指针t,并将字符指针s的首地址赋给字符指针t;通过while语句将指针t往下移到字符串最后一个字符后面的地址,指针s始终指向首地址,将末地址减去首地址可以计算出字符串的长度。

  • 第20题:

    有以下函数 int fun(char*X,char*y) { int n=0; while((*x= = =*y)*x!=\O){x++; y++; n++;} return n; } 函数的功能是( )。

    A.查找X和y所指字符串中是否有\o

    B.统计x和Y所指字符串中最前面连续相同的字符个数

    C.将Y所指字符串赋给X所指定存储空间

    D.统计X和Y所指字符串中相同的字符个数


    正确答案:B
    由题中while(*x==*y*x!=\n)可知此函数是统计x和y所指向的字符串中最前面的联系相同的字符的个数。

  • 第21题:

    下面函数的功能是 ( ) int funl(char * X) { char * y=X; whar(* y + + ); return (y - x - 1);}

    A.求字符串的长度

    B.比较两个字符串的大小

    C.将字符串x复制到字符串y中

    D.将字符串x连接到字符串y后面


    正确答案:A

  • 第22题:

    函数strcmp( )的功能是对两个字符串进行比较,当s所指字符串和t所指字符串相等时,返回值为0;

    当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于

    0(功能等同于库函数strcmp( ) ),请填空。

    include <stdio.h>

    int strcmp ( chat * s, char * t)

    { while( * s && * t && * s=【 】

    { s++;t++; }

    return 【 】;

    }


    正确答案:* 或t[0] * s- *t 或 * s-t[0]或s[0]- * t或s[0]-t[0]
    * 或t[0] * s- *t 或 * s-t[0]或s[0]- * t或s[0]-t[0] 解析:对字符串比较的方法是依次对两字符串对应位置上的字符两两比较,当出现第一对不相同的字符时,即由这两个字符(ASCⅡ码值)决定所在串的大小。

  • 第23题:

    单选题
    有以下函数 int fun(char *s) {  char *t=s;  while(*t++);  return(t-s); } 该函数的功能是(  )。
    A

    计算s所指字符串占用内存字节的个数

    B

    比较两个字符串的大小

    C

    计算s所指字符串的长度

    D

    将s所指字符串复制到字符串t中


    正确答案: A
    解析:
    本题中,首先让t指向形参s,然后通过一个循环体为空的while循环,将t逐次后移,直到其所指内容为'\0'(字符串结束标志)。此时t仍然会被增1,所以从循环出来,t指向的是s所指字符串的结束标志的后一个字节。因此,返回的t-s是s所指字符串占用内存字节的个数,A项正确。而C项所说的长度并不包括字符串结束标志位,错误。答案选择A选项。