为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Yii
长风秋雁 2019-02-05 10:06:13
C语言 strcat ,strcpy ,strlen 函数具体怎么写?
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

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类型,所有字符串操作都是通过字符指针或字符数组实现的。不用指针编写字符串操作函数是不可能的。


查看完整回答
反对 回复 2019-03-20
?
桃花长相依

TA贡献1860条经验 获得超8个赞

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;
else
return 1;
}
int strlen(char s[])
{
int len=0 ,i;
for(i=0;s[i]!='\0';i++)
len++;
return len;}



查看完整回答
反对 回复 2019-03-20
  • 2 回答
  • 0 关注
  • 788 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信