模拟实现strlen

简介: 模拟实现strlen

直接上源码

//方法1
size_t my_strlen (const char * string)
{
    assert(string);
    size_t count = 0;
    while(*string++)
    {
        count++;
    }
    return count;
}
//方法2
size_t my_strlen(const char * string)
{
    assert(string);
    const char* tmp = string;
    while(*++string);
    return string - tmp;
}
//方法3 
size_t my_strlen(const char * string)
{
    assert(string);
    if(!(*string))
        return 0;
    else
    {
        return 1 + my_strlen(string+1);//注意此处不能用++因其有副作用
    }
}
相关文章
mmap实现共享内存
mmap实现共享内存
186 0
|
8月前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
292 9
|
11月前
|
UED
「Mac畅玩鸿蒙与硬件17」鸿蒙UI组件篇7 - Animation组件基础
在应用开发中,动画效果可以增强用户体验。鸿蒙框架提供了 translate、scale 和 rotate 等动画功能,允许对组件进行平移、缩放和旋转等操作。本篇将介绍 Animation 组件的基础知识和示例代码。
562 10
「Mac畅玩鸿蒙与硬件17」鸿蒙UI组件篇7 - Animation组件基础
|
JavaScript
vue 滑动拼图验证
vue 滑动拼图验证
226 1
vue 滑动拼图验证
|
机器学习/深度学习 人工智能 自然语言处理
ICML 2024 Spotlight:在解码中重新对齐,让语言模型更少幻觉、更符合人类偏好
【7月更文挑战第13天】ICML 2024 Spotlight: Decoding-time Realignment改善语言模型,减少幻觉,增强人类偏好一致性。研究提出在解码阶段动态调整模型对齐,通过控制参数实现对齐与性能平衡,提高泛化能力。尽管面临参数选择及计算资源挑战,该技术为优化AI文本生成对齐提供了新途径。[论文链接](https://openreview.net/forum?id=n8g6WMxt09&noteId=E3VVDPVOPZ)**
274 9
|
SQL Java 数据库连接
Dao层和Mapper层
Dao层和Mapper层
1722 0
|
存储 JavaScript 前端开发
父子组件通信:有效地在Vue组件树中传递数据
【4月更文挑战第24天】Vue.js中的组件通信是实现可维护和可扩展代码的关键。遵循单向数据流原则,数据从父组件通过`props`传给子组件,子组件通过`$emit`触发事件响应。常用通信方式包括:1) `Props`和`Events`基础通信;2) `Provide / Inject`跨级通信;3) 使用Vuex管理复杂状态;4) 共享祖先组件或Vuex处理非父子组件通信;5) 少量使用`ref`和`$parent / $children`直接访问。选择合适的方式能优化应用性能和用户体验。
228 0
|
人工智能 文字识别 算法
垂直领域大模型——文档图像大模型的思考与探索
12月1日,2023中国图象图形学学会青年科学家会议在广州召开。超1400名研究人员齐聚一堂,进行学术交流与研讨,共同探索促进图象图形领域“产学研”交流合作。
|
开发工具 内存技术
oh my zsh 失效 与 nvm 安装
oh my zsh 失效 与 nvm 安装
291 0
|
监控 数据可视化 前端开发
一个.NetCore前后端分离、模块化、插件式的通用框架
一个.NetCore前后端分离、模块化、插件式的通用框架
375 0

热门文章

最新文章