有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是A.比较两个字符串的大小B.计算s所指字符串占用内存字节的个数C.计算s所指字符串的长度D.将s所指字符串复制到字符串t中

题目

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

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

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

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

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


相似考题
更多“有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } ”相关问题
  • 第1题:

    有以下函数 int aaa(char *s) { char *t=s; while(*t++); t--; return(t-s); } 以下关于aaa函数的功能的叙述正确的是

    A.求字符串s的长度

    B.比较两个串的大小

    C.将串s复制到串t

    D.求字符串s所占字节数


    正确答案:A
    解析:aaa()函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针 t不断递增,直到t指向字符串结束标志处。当t指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,所以接卜来的t--;语句让它回到结束标志处。最后返回t-s,因此s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度值。

  • 第2题:

    有以下函数 int aaa(char *s) {char *t=S; while(*t++); t--; return(t-s); } 以下关于aaa函数的功能的叙述正确的是

    A.求字符串s的长度

    B.比较两个串的大小

    C.将串s复制到串t

    D.求字符串s所占字节数


    正确答案:A
    解析: 循环开始前,指针t和s都指向字符串的起始位置,然后通过while循环判断t指向的位置是否为空,同时让t向右移动一位。while循环结束时,t自减1,此时t指向的位置是字符串的结束标志,'\0',处,故t-s的值是字符串的长度,并不包括结束标志。

  • 第3题:

    有以下函数: mt aaa(char*s) {char *t=s; while(*t++); t--; return(t-s); } 以下关于aaa函数的功能的叙述正确的是( )。

    A.求字符串s的长度

    B.比较两个串的大小

    C.将串s复制到串t

    D.求字符串s所占字节数


    正确答案:A
    解析:aaa()函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针t不断递增,直到t指向字符串结束标志处。当t指向结束标志处时,由于后缀4-+运算符的原因,它还会被再递增1,所以接下来的t--;语句让它回到结束标志处。最后返回t-s,因此s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度值。

  • 第4题:

    有以下程序 include void fun(char *t, char *s) { whil

    有以下程序 #include <stdio.h> void fun(char *t, char *s) { while(*t!=0) t++; while( (*t++ = *s++ )!=0 ); main() { char ss[10]="acc",aa[10]="bbxxyy"; fun(ss, aa); printff"%s,%s\n", ss,aa); 程序的运行结果是

    A.accxyy, bbxxyy

    B.acc, bbxxyy

    C.accxxyy, bbxxyy

    D.accbbxxyy, bbxxyy


    正确答案:D
    解析:函数fun()中,前一个while循环的作用是:如果形参指针t所指内容不为0,则让t增1,直到它指向0。后一个 while循环的作用是:将s所指内容赋给t所指地址,然后两者同时增1,直到赋给t的内容为0。由此可见,函数fun()的作用就是将形参s所指字符串连接到形参t所指字符串末尾,相当于库函数中的strcat()。主函数中使用fun()将数组aa中的字符串连接到了数组ss中原有字符串之后,所以执行完后,ss中的字符串为"accbbxxyy"。故最终输出的结果是:accbbxxyy,bbxxyy,应该选择D。

  • 第5题:

    有以下程序 include void fun(char *t,char *s) { while(*t!=0) t++; while((*t++=*s

    有以下程序

    #include <stdio.h>

    void fun(char *t,char *s)

    { while(*t!=0) t++;

    while((*t++=*s++)!=0);

    }

    main( )

    { char ss[10]="acc",aa[10]="bbxxyy";

    fun(ss,aa); printf("%s,%s\n",ss,aa);

    }

    程序的运行结果是

    A.accxyy,bbxxyy

    B.acc,bbxxyy

    C.accxxyy,bbxxyy

    D.accbbxxyy,bbxxyy


    正确答案:D
    解析:本题中fun函数实现了字符串函数strcat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符“\0”)逐个复制到字符串ss的末尾处。

  • 第6题:

    有以下函数

    int aaa(char *s)

    {

    char *t=s;

    while(*t++);

    t--;

    return(t-s);

    }

    以下关于aaa函数的功能的叙述正确的是( )。

    A.求字符串s的长度

    B.比较两个串的大小

    C.将串s复制到串t

    D.求字符串s所占字节数


    正确答案:A