C语言笔试题(18)——strcat函数实现

原型

  extern char *strcat(char *dest,char *src);

用法

  #include <string.h>  在C++中,则存在于<cstring>头文件中。

功能

  把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

说明

  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,

       返回指向dest的指针。


#include <stdio.h>
#include <assert.h>

char *strcat(char *dst, const char *src)
{
    char *str = dst;

    assert(dst != NULL && src != NULL);

    while(*dst++ != '\0')
        ;

    dst--;

    while((*dst++ = *src++) != '\0')
        ;

    return str;
}

int main(int argc, const char *argv[])
{
    char dst[20] = "hello";
    char src[] = "world";
    char *str;

    str = strcat(dst, src);

    printf("%s\n", str);

    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章