用定长存储方式实现字符串的基本操作(10个函数)

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:09:02
在下面的再加7个函数,在数据结构上用C语言做
#include<stdio.h>
#include<string.h>
char *Strcpy(char *s1,char *s2)
{
while(*s2!='\0')
*s1++=*s2++;
*s1=*s2;
return s1;
}
char *Strcat(char *s1,char *s2)
{
char s[1000];
int i=0;
int len=strlen(s1);
while(*s1!='\0')
s[i++]=*s1++;
while(*s2!='\0')
s[len++]=*s2++;
s[len]=*s2;
return s;
}
int Strcmp(char *s1,char *s2)
{
if(strlen(s1)!=strlen(s2))
{
while(*s1==*s2)
{
s1++;
s2++;
}
return (*s1<*s2)==1?1:-1;
}
else
{
while(*s1!='\0'&&*s1==*s2)
{
s1++;
s2++;
}
if(*s1=='\0')
return 0;
else return (*s1<*s2)==1?1:-1;
}
}

void main()
{
char s1[20],s2[20]="hello!",s3[20]="bye!";
Strcpy(s1,s

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

//计算字符串str的长度一
int strlen(const char* str)
{
int i = 0;
while(*(str+i) != '\0')
{
i++;
}
return i;
}

//将字符串src copy 到 des中 二
char* strcpy(char* des, const char* src)
{
assert((des!=NULL)&&(src!=NULL));//确认des和src均不是空指针

char* desAddress = des;

//copy
while ((*des++ = *src++) != '\0')
{
NULL;
}

return desAddress;
}

//将src连接到des后面 三
char* concat(char* des, const char* src)
{

char* desAddress = des;

//des指针移动到最后
while (*des++ != '\0')
{
NULL;
}

//指针后退一位,指向'\0'的位置
des--;

//concat
while ((*des++ = *src++) != '\0')
{