C语言标准库函数strcpy与strcmp的简单实现

 1 //C语言标准库函数strcpy的一种简单实现。
 2 
 3 //返回值:目标串的地址。
 4 
 5 //对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。
 6 
 7 //参数:des为目标字符串,source为原字符串。
 8 
 9 char* strcpy(char* des,const char* source)
10 {
11     char* r=des;
12  
13     assert((des != NULL) && (source != NULL));
14 
15     while((*des++ = *source++)!='\0');
16 
17     return r;
18 }
19 
20 //while((*des++=*source++));的解释:赋值表达式返回左操作数,所以在赋值NULL后,循环停止。
 1 //C语言标准库函数strcmp的一种简单实现
 2 
 3 //返回值当s1<s2时,返回为负数;当s1=s2时,返回值= 0;当s1>s2时,返回正数
 4 
 5 //参数:字符串str1,str2
 6 
 7 int strcmp(const char *str1,const char *str2)
 8 {
 9     /*不可用while(*str1++==*str2++)来比较,当不相等时仍会执行一次++,
10     return返回的比较值实际上是下一个字符。应将++放到循环体中进行。*/
11     while(*str1 == *str2)
12     {
13         if(*str1 == '\0')
14             return 0;
15          
16         str1++;
17         str2++;
18     }
19     return *str1 - *str2;
20 }

 

转载于:https://www.cnblogs.com/shfanzie/p/5207732.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值