C语言 strcat ,strcpy ,strlen 函数具体怎么写?(不要用指针)(函数的具体内
C语言strcat,strcpy,strlen函数具体怎么写?(不要用指针)(函数的具体内容,不是函数的用法)...
C语言 strcat ,strcpy ,strlen 函数具体怎么写?(不要用指针)(函数的具体内容,不是函数的用法)
展开
展开全部
char * strcat(char *dst, const char *src)
{
char *cp = dst;
while(*cp)
cp++;
while(*cp++ = *src++);
return(dst);
}
char *strcpy(char *des,const char *source)
{
char *r=des;
assert((des != NULL) && (source != NULL));
while((*des++ = *source++)!='\0');
return r;
}
int 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;
else
return 1;
}
int strlen(char s[])
{
int len=0 ,i;
for(i=0;s[i]!='\0';i++)
len++;
return len;}
{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;}
追问
有没有strcpy和strlen的?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-14
展开全部
不用指针就用数组呗。
追问
就是要用数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询