C语言 strcat ,strcpy ,strlen 函数具体怎么写?

C语言 strcat ,strcpy ,strlen 函数具体怎么写?


长风秋雁
浏览 798回答 2
2回答

红糖糍粑

12345678char * strcat(char *dst, const char *src) {    char *cp = dst;   while(*cp)        cp++;   while(*cp++ = *src++);   return(dst);  }12345678char *strcpy(char *des,const char *source){    char *r=des;    assert((des != NULL) && (source != NULL));    while((*des++ = *source++)!='\0');    return r; }12345678int strlen(const char *str){    assert(str!=NULL);    int len=0;    while((*str++)!='\0')        len++;    return len;}C语言没有string类型,所有字符串操作都是通过字符指针或字符数组实现的。不用指针编写字符串操作函数是不可能的。

桃花长相依

void strcat(char s1[],char s2[]){int i,j;for(i=0;s1[i]!='\0';i++);for(j=0;s2[j]!='\0';j++)s1[i++]=s2[j];s1[i]='\0';}void strcpy(char a[],char b[]){int i=0,j=0;while((a[i++]=b[j++])!='\0');}int strcmp(char s1[],char s2[]){int i;for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++){if(s1[i]>s2[i])return 1;else if(s1[i]<s2[i])return -1;}if(s1[i]=='\0'&&s2[i]=='\0')return 0;else if(s1[i]=='\0')return -1;elsereturn 1;}int strlen(char s[]){int len=0 ,i;for(i=0;s[i]!='\0';i++)len++;return len;}
打开App,查看更多内容
随时随地看视频慕课网APP