C语言,strcat函数自己写的话,应该怎么写?

如题所述

//将源字符串加const,表明其为输入参数
char* strcat(char* strDest , const char* strSrc)
{
    //后文return address,故不能放在assert断言之后声明address
    char* address=strDest;
    assert( (strDest!=NULL)&&(strSrc!=NULL) );//对源地址和目的地址加非0断言
    while(*address)//是while(*strDest!=’\0’)的简化形式
    {
        //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
        //那么strDest将指向'\0'的下一个位置。/所以要在循环体内++;因为要使*strDest最后指
        //向该字符串的结束标志’\0’。
        address++;
    }
 
    while(*address++=*strSrc++)
    {
        NULL;//该循环条件内可以用++,
    }//此处可以加语句*strDest=’\0’;无必要
    return strDest;//为了实现链式操作,将目的地址返回
}

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言,strcat函数自己写的话,应该怎么写?
\/\/将源字符串加const,表明其为输入参数char* strcat(char* strDest , const char* strSrc){ \/\/后文return address,故不能放在assert断言之后声明address char* address=strDest; assert( (strDest!=NULL)&&(strSrc!=NULL) );\/\/对源地址和目的地址加非0断言 while(*address)\/\/是...

如何用c语言编写strcat函数
C语言中 本身有strcat函数。如果要自己实现 可以采用指针方式:char *my_strcat(char *s, char *d){ char *r = s; while(*r) r++; while(*d) *r++=*d++; *r=0; return s;}

C语言自己写strcpy函数怎么写
void *memset(void *s, int c, size_t n){ const unsigned char uc = c; unsigned char *su;for( su = s; 0 < n; ++su, --n) *su = uc; return (s);} 所有的函数原型都在这了 你想要哪个都行谢谢采纳 展开 qqqq4012 | 发布于2012-10-26 举报| 评论 1 3 为您推荐: strcpy函数...

c语言之strcat()
strcat(t,p)这样写是不对的,t是字符型变量,而strcat的参数要求是字符指针,可以像下面这样写 char *t = new char[100];strcpy(t,"hello ");char *p= "word!";strcat(t,p);printf("%s\\n",t);delete [] t;输出hello Word!

C语言,自定义函数实现strcat
可以不用指针.char *strcat(char *a, char *b){ int i,j; for(i=0; a[i]; i++); for(j = 0; b[j]; j++) a[i+j]=b[j]; a[i+j]=0; return a;}

c语言strcat函数怎么用
一、函数概述 strcat函数是C语言中用于字符串拼接的函数。它可以将一个字符串拼接到另一个字符串的末尾,并返回目标的指针。二、函数原型 strcat的函数原型为:char *strcat; 其中,dest是目标字符串,src是源字符串。三、使用步骤 1. 声明字符串变量并初始化目标字符串。例如:char dest[100] = "...

...程序,通过自定义函数实现字符串处理函数strcat、 strcpy、strcmp、str...
这个是strcat是3个形参的,两个形参的是这样写的 void strcat(char *p1, char *p2){ while(*p1){ p1++;} while(*p2){ p1 = *p2;p1++;p2++;} p1 = '\\0';} 注意 p1开的数组要比p2大哦 int strlen(char *p1){ char *s=p1; \/\/将指针s指向指针p,即指向str1 while(*s) \/\/...

c语言strcat
原型:char *strcat(char *dest,char *src);用法:#include <string.h> 功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。当然是遇到字符串结束符'\\0'...

c语言指针实现字符拼接函数strcat
对于strcat,其格式为 char *strcat(char *a, char *b);其功能为,将字符串b拼接到a的尾部,并将结果字符串返回。所以,实现该函数的思路为:1 找到字符串a的结尾;2 将b的所有字符复制到a尾部的空间中,到\\0为止。需要注意的是,复制的结果要包含b的结束符。代码如下:char *strcat(char *a...

c语言strcat
int i,t,j;pritnf("请输入第一个字符串:");for(i=[0;a[i]!=‘ ’;i++) \/\/a[i]!=‘ ‘输入空格就结束输入 scnaf("%c",&a[i]);t=i; \/\/记住在哪就没有装值 pritnf("请输入第二个字符串:");for(i=[0;b[i]!=‘ ’;i++)scnaf("%c",&b[i]);for(i=t;...

相似回答