news 2026/7/6 3:41:38

Day30~实现strcmp、strncmp、strchr、strpbrk

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day30~实现strcmp、strncmp、strchr、strpbrk

实现strcmp、strncmp、strchr、strpbrk

int my_strcmp(char *s1, char *s2) { if (s1 == NULL && s2 == NULL) { return 0; } if (s1 != NULL && s2 == NULL) { return 1; } if (s1 == NULL && s2 != NULL) { return -1; } while (*s1 != '\0' && *s2 != '\0') { if (*s1 > *s2) { return 1; } else if (*s1 < *s2) { return -1; } s1++; s2++; } if (*s1 == '\0' && *s2 == '\0') { return 0; } if (*s1 != '\0' && *s2 == '\0') { return 1; } if (*s1 == '\0' && *s2 != '\0') { return -1; } } int my_strncmp(char *s1, char *s2, size_t n) { if (s1 == NULL || s2 == NULL) { return -1; } for (int i = 0; (i < n && (*s1 != '\0' && *s2 != '\0')); i++) { if (s1[i] != s2[i]) { return -1; } } return 0; } char *my_strchr(char *s, int c) { while (*s != '\0') { if (*s == c) { return s; } else { s++; } } } char *my_strpbrk(char *s, char *accept) { char *temp = accept; char *result = NULL; while (*accept != '\0') { temp = strchr(s, *accept); // 查找accept第一次在字符s中出现的位置 if (temp != NULL) // 如果找到 { result = temp; // 将第一次找到的位置赋值给result while (*accept != '\0') // 再次遍历 { temp = strchr(s, *accept); // 再次查找 if (temp != NULL && temp < result) // 如果找到且比第一次找到的位置更靠左,则取 { result = temp; // 赋值给result } accept++; // 指针后移 } return result; // 返回结果 } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 17:53:21

Kotaemon水务管理系统智能预警机制

Kotaemon水务管理系统智能预警机制 在城市供水系统中&#xff0c;一次突发的余氯浓度下降可能意味着潜在的水质安全风险。传统模式下&#xff0c;值班人员需要手动查阅操作手册、比对历史工单、联系现场工程师——整个过程往往耗时数十分钟甚至更久。而如今&#xff0c;随着人…

作者头像 李华
网站建设 2026/7/6 1:22:44

Kotaemon视频内容摘要生成实验记录

Kotaemon视频内容摘要生成实验记录 在音视频内容爆炸式增长的今天&#xff0c;如何从数小时的讲座、会议或教学录像中快速提取核心信息&#xff0c;已成为知识工作者和企业面临的一大挑战。传统做法依赖人工听看并撰写摘要&#xff0c;效率低、成本高&#xff1b;而直接使用大语…

作者头像 李华
网站建设 2026/7/5 12:55:14

用Matlab探索齿轮系统的奥秘:刚度计算与动力学响应

Matlab计算齿轮啮合刚度计算&#xff0c;包括赫兹刚度弯曲刚度等子程序。 以及六自由度齿轮系统动力学响应计算。在机械传动领域&#xff0c;齿轮系统扮演着至关重要的角色。深入了解齿轮的啮合刚度以及系统的动力学响应&#xff0c;对于优化设计、提高性能和延长使用寿命都有着…

作者头像 李华
网站建设 2026/7/5 6:52:32

【node阅读-0】下载编译node

一、下载编译-windows build 工具要求安装方式Visual Studio 2022版本 17.13 或更高必须选 “Desktop development with C” workload必须安装 ClangCL 组件&#xff1a;- C Clang Compiler for Windows (Microsoft.VisualStudio.Component.VC.Llvm.Clang)- MSBuild support f…

作者头像 李华
网站建设 2026/7/5 23:58:23

EmotiVoice支持动态情感过渡,实现平滑情绪变化

EmotiVoice&#xff1a;让语音真正“动情”的合成引擎 在虚拟偶像的直播中&#xff0c;一句从温柔期待逐渐转为委屈落泪的台词&#xff0c;让弹幕瞬间刷满“破防了”&#xff1b;在互动叙事游戏中&#xff0c;NPC因玩家选择而情绪骤变&#xff0c;声音颤抖着说出那句“我信任你…

作者头像 李华