问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和

发布网友 发布时间:2022-05-15 06:41

我来回答

4个回答

热心网友 时间:2023-10-12 04:09

strcat(char
*p1,char
*p2,char
*p)
{
while(*p1)
//检查指针是否到了'\0'
{
*p=*p1;
//赋值
p1++;
//指针指向下一个字符
p++;
}
while(*p2)
{
*p=*p2;
p2++;
p++;
}
*p='\0';
//为str3结尾加上'\0'
}
这个是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)
//当*s不为'\0'的时候
s++;
//指针指向下一个字符
return
(s-p1);
//当s指向字符串的'\0'的前一位,而p指向的是开头,所以s-p就是长度
}
strcpy(char
*p1,
char
*p2)
{
while(*p2)
{
*p1
=
*p2;
p1++;
p2++;
}
}
strcmp(char
*p1,
char
*p2)
{
//当*p1,*p2不为空,且*p1
==
*p2,循环执行
while(*p1
&&
*p2
&&
(*p1
==
*p2))
{
//指向下一个元素
p1++;
p2++;
}
if(*p1>
*p2)
return
1;
else
if(*p1<
*p2)
return
-1;
return
0;
}

热心网友 时间:2023-10-12 04:09

char *mystrcat(char *dst, char *src)
{
char *p = dst;
while(*p)++p;
while(*p++ = *src++);
return dst;
}
char *mystrcpy(char *dst, char *src)
{
while(*dst++ = *src++);
return dst;
}
int mystrcmp(char *dst, char *src)
{
while(*dst && *dst == *src)
{
++dst;
++src;
}
return *dst - *src;
}
int mystrlen(char *dst)
{
char *p = dst;
while(*p)++p;
return p - dst;
}
int main()
{
char s[32], t[32] = "HELLO,CHINA";
mystrcpy(s, "HELLO,");
puts(s);
mystrcat(s, "USA");
puts(s);

printf("%d %d\n", mystrlen(s), mystrcmp(s, t));
}

热心网友 时间:2023-10-12 04:09

char* strcat( char s1[], const char s2[] )
{
if (s1==NULL || s2==NULL)
return NULL;
for(char* p=s1+sizeof(s1)-1; *s2!='\0'; p++,s2++)
*p = *s2;
return s1;
}

热心网友 时间:2023-10-12 04:10

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;}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 模仿strcpy()函数来实现自己的字符串拷贝函数 strcpy重写,为什么打印出来的是 adf 而不是123 ??? 代码如下 编写一个实现strcpy函数功能的函数,并试用主函数调用 C语言,重写strcpy和strcmp (面试题的四种答案)重写strcpy库函数..看不懂 懂车帝怎么换绑手机号码? 如何解除手机绑定 怎么解除绑定和手机号 如何解除与手机号的绑定 手机号码绑定了一个不用的,怎么解除? 如何查询电子芯片参数 电子元器件参数查询? 在爱奇艺PPS上有什么?像僵尸题材的那样子的恐怖电影,推荐 肾脏病能吃高梁米吗 小炒芥蓝丁怎么做 高粱米和芹菜一起熬粥能治尿酸高吗 痛风可以吃高粱米吗 血糖和尿酸高是否能吃高粱米 尿酸偏高能不能吃高梁米粥 城市经理 英文怎么写 编写函数strcpy,实现把字符串s1复制到s2. 为什么冬天房间里老鼠特别多夏天非常少啊? 阿迪锅冻肉直接做可以吗? 广东话“怎么改”是什么意思? 沙眼会造成怎样的后果? 沙眼有什么影响? 沙眼有甚么危害 沙眼的危害有那些? 得沙眼有什么后果? 沙眼是不是就是感觉眼里有粒沙子一样?沙眼不知会有什么后果啊? 沙眼对人有什么坏处?拜托各位大神 沙眼会影响什么吗? 什么是沙眼?有沙眼会怎么样?这个病严不严重??有没有啥好的解决方法 贴吧名字咋么改? 绚丽、时尚、超薄的键盘? 问一下.NOKIA 7610和N70那个好!能否把N70介绍一下! 想买个nokia 手机 《出色的恋人》txt全集下载 亲密伴侣txt全集下载 《蚀心沉沦,首席情深难耐》txt下载在线阅读全文,求百度网盘云资源