博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每日一练(三十七)
阅读量:3950 次
发布时间:2019-05-24

本文共 920 字,大约阅读时间需要 3 分钟。

文章目录

3.1 求字符串的子串个数

在这里插入图片描述

3.2 判断程序输出

在这里插入图片描述

3.3 strlen 实现

int strlen(const char *str){
assert(str != NULL); int count = 0; while (*str++ != NULL) {
++count; } return count;}

用来判断字符串的长度,以结束符NULL为标志。

3.4 strcmp 实现

int strcmp(const char *str1, const char *str2){
assert(str1 != NULL && str2 != NULL); int ret = 0; //通过字符的ASCII相减之后的值来判断,同时判断str1是否结束 while (!(ret = *(unsigned char *)str1 - *(unsigned char *)str2) && *str1) {
++str1; ++str2; } if (ret < 0) ret = -1; else if (ret > 0) ret = 1; return ret; //相等返回0}

strcmp用来比较两个字符串的长度:

若str1 > str2,返回1

若str1 = str2,返回0

若str1 < str2,返回-1

3.5 strcat 实现

char *strcat(char *dest, const char *src){
assert(dest != NULL && src != NULL); char *p = dest; while (*p++ != NULL); p = src; while ((*p++ = *src++) != NULL); return dest;}

strcat用来将一个字符串连接在另一个字符串后面,覆盖掉前一个字符串的‘\0’,并在最后添加‘\0’。

转载地址:http://wawzi.baihongyu.com/

你可能感兴趣的文章
通过限制循环次数来避免死循环
查看>>
ADO连接字符串
查看>>
字符数组的位置决定程序能否成功执行--不明白
查看>>
拷贝代码时没有仔细检查,导致误修改了函数参数
查看>>
MySQL批量导入数据SQL语句(CSV数据文件格式)
查看>>
ADO连接Oracle
查看>>
遍历Windows系统中所有进程的名字(*.exe)
查看>>
进程看门狗
查看>>
线程看门狗
查看>>
调试代码的宏定义
查看>>
创建、重命名文件
查看>>
文件大小保护
查看>>
删除指定目录下所有文件及目录
查看>>
XDR-从文件空间解码整数
查看>>
XDR-.x文件的简单使用
查看>>
XDR-枚举的试用
查看>>
使用CppSQLite3访问SQLite数据库
查看>>
第一个boost程序---timer的使用
查看>>
使用boost asio库实现字节数可控的CS通信
查看>>
linux下串口编程
查看>>