itgle.com

以下不能将s所指字符串正确复制到t所指存储空间的是( )。A.while(*t=*s){t++;s++;}B.for(i=0;t[i]=s[i];i++);C.do{*t++:*s++;}while(*s);D.for(i=0,j=0;t[i++]=s[j++];);

题目

以下不能将s所指字符串正确复制到t所指存储空间的是( )。

A.while(*t=*s){t++;s++;}

B.for(i=0;t[i]=s[i];i++);

C.do{*t++:*s++;}while(*s);

D.for(i=0,j=0;t[i++]=s[j++];);


相似考题
参考答案和解析
正确答案:C
解析:C项复制时没有复制结束串“\0”。
更多“以下不能将s所指字符串正确复制到t所指存储空间的是()。A.while(*t=*s){t++;s++;}B.for(i=0;t[i]= ”相关问题
  • 第1题:

    有下列函数: 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所指字符串的长度。

  • 第2题:

    以下不能将s所指字符串正确复制到t所指存储空间的是( )。

    A.do{*t++=*8++;}while(*s);

    B.for(i=0;t[i]=s[i];i++);

    C.while(*t=*s){t++;s++;}

    D.for(i=0,j=0;t[i++]=s[j++];);


    正确答案:A
    do{*t++=}S++;}while(*S);不能因为当*s=’、0。时,while(*s)跳出循环,这样字符串结束标志’、0’没有复制给}t,造成}t不完整。注意,*t++=*s++是先执行t=*s,然后才进行t=t+1,s=s+1。B、C、D都能将。\0’复制过去

  • 第3题:

    函数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Ⅱ码值)决定所在串的大小。

  • 第4题:

    以下不能将S所指字符串正确复制到t所指存储空间的是( )。

    A.while(*t=*s){t++;s++;)

    B.for(i=0;t[i]=s[i];i++);

    C.do{*t++=*s++;)while(*s);

    D.for(i=0,j=o;t[i++]=s[j++];);


    正确答案:C
    C项复制时没有复制结束串“\0”。

  • 第5题:

    有以下函数: 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始终指向首地址,将末地址减去首地址可以计算出字符串的长度。