首页 > 编程语言 > 详细

C语言:二十三 不用库函数/局部or全局变量写测字符串长度的函数

时间:2020-01-29 10:33:20      阅读:65      评论:0      收藏:0      [点我收藏+]
int my_strlen(char *strDest)
{
assert(strDest != NULL); //注释①
if(‘\0‘ == *strDest)
return 0;
else //注释②
return (1+my_strlen(++strDest));
}

注释①:
assert是个宏,不是库函数,仅在debug版本中起作用,在release版本中会被编译器优化掉不起任何作用,如果assert后跟的表达式为False,将终止程序运行并报错。

注释②:
采用递归调用自身的方式完成函数功能。
my_strlen()函数还可以写的更简洁
int my_strlen(char *strDest)
{
assert(strDest != NULL);
return (strDest == ‘\0‘) ? 0:(1+my_strlen(++strDest));
或者
return (*strDest) ? (1+my_strlen(++strDest)) : 0;
}

 

C语言:二十三 不用库函数/局部or全局变量写测字符串长度的函数

原文:https://www.cnblogs.com/wuqi1003/p/12239634.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!