当前位置: 首页 > news >正文

seo站群系统今日热搜第一名

seo站群系统,今日热搜第一名,平面设计公司电话,做网站必须要有前台吗前言 在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 1. 字符分…

前言

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数~

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~


目录

前言

1. 字符分类函数 

例:字母大小分类

例:字母大小写转换

字符串相关函数

strlen的函数使用和模拟实现

strlen的函数使用

strlen的模拟实现

法1

法2

法3:递归

strcpy的函数使用和模拟实现

strcpy的函数使用

strcpy的模拟实现

不返回

优化

返回目标空间的起始地址

strcat的函数使用和模拟实现

strcat的函数使用

strcat的模拟实现

strcmp的函数使用和模拟实现

strcmp的函数使用

 strcmp的模拟实现


1. 字符分类函数 

 C语⾔中有⼀系列的函数是专⻔做字符分类的,使⽤这些函数需要包含的头⽂件是 ctype.h

例:字母大小分类

判断大小写

例:字母大小写转换

大写转小写

字符串相关函数

字符串相关函数要包含头文件string.h

strlen的函数使用和模拟实现

strlen的函数使用

用于计算字符串的个数

  • strlen函数返回的是在字符串中 '\0' 前⾯出现的字符个数(不包 含 '\0' )。
  • 参数指向的字符串必须要以 '\0' 结束。
  • 注意函数的返回值为size_t,是⽆符号的

strlen的模拟实现

法1
#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char*str)
{size_t count = 0;//断言str不为空指针assert(str != NULL);while (*str){count++;str++;}return count;
}int main()
{char arr[] = "abcdef";size_t len = my_strlen(arr);printf("%zd\n", len);return 0;
}
法2
#include<stdio.h>
#include<assert.h>//strlen的模拟实现
size_t my_strlen2(char* str)
{assert(str != NULL);char* start = str;while (*str){str++;}return str - start;
}
法3:递归
size_t my_strlen3(char* str)
{assert(str != NULL);if (*str){return 1+my_strlen3(str+1);}else{return 0;}
}

strcpy的函数使用和模拟实现

strcpy的函数使用

用于拷贝字符串

  •  源字符串必须以 '\0' 结束。
  •  会将源字符串中的 '\0' 拷⻉到⽬标空间
  • ⽬标空间必须⾜够⼤,以确保能存放源字符串。
  • ⽬标空间必须可修改

strcpy的模拟实现

不返回
#include<stdio.h>
void my_strcpy(char* dest, const char* src)
{while (*src)//遇到\0就停下,跳出while循环{assert(dest != NULL);assert(src != NULL);//一个个字节从头开始拷贝*dest = *src;dest++;src++;}*dest = *src;//最后把\0拷贝过去
}
int main()
{char arr1[20] = "xxxxxxxxxxx";char arr2[] = "hello";my_strcpy(arr1, arr2);printf("%s\n", arr1);return 0;
}
优化
#include<stdio.h>
//优化
void my_strcpy(char* dest, const char* src)
{//若有一个为空指针,assert即为假assert(dest &&src);//先赋值(拷贝)地址再++//最后\0拷贝过去后,整个表达式为0,跳出循环while (*dest++=*src++){;//空语句}
}
返回目标空间的起始地址
char* my_strcpy(char* dest, const char* src)
{assert(dest && src);//若有一个为空指针,assert即为假//先赋值(拷贝)地址再++//最后\0拷贝过去后,整个表达式为0,跳出循环char* ret = dest;//保留目标空间的起始位置while (*dest++=*src++){;//空语句}return ret;
}

strcat的函数使用和模拟实现

strcat的函数使用

用于追加字符串

  • 源字符串必须以 '\0' 结束。
  • ⽬标字符串中也得有 \0 ,否则没办法知道追加从哪⾥开始。
  • ⽬标空间必须有⾜够的⼤,能容纳下源字符串的内容。
  • ⽬标空间必须可修改。

strcat的模拟实现

注意:以下实现的my_strcat函数不可以自我追加,\0会被覆盖,造成死循环(越界访问)

#include<stdio.h>
#include<assert.h>
void my_strcat(char* dest, const char* src)
{assert(dest && src);//保留目标空间的起始位置char* ret = dest;//1.找到目标空间的\0while (*dest){dest++;}//2.在dest后面拷贝src的内容while (*dest++ = *src++){;}}
int main()
{char arr1[20] = "hello ";char arr2[] = "world";my_strcat(arr1, arr2);printf("%s\n", arr1);return 0;
}

strcmp的函数使用和模拟实现

strcmp的函数使用

用于字符串比较,⽐较两个字符串中对应位置上字符ASCII码值的⼤⼩,(不是比长度)

第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字

第⼀个字符串等于第⼆个字符串,则返回0

第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字

 strcmp的模拟实现

#include<stdio.h>
int my_strcmp(const char* s1, const char* s2)
{while (*s1 == *s2){if (*s1 == '\0')return 0;s1++;s2++;}//return *s1-s2;if (*s1 > *s2)return 1;elsereturn -1;
}int main()
{int ret = my_strcmp("abcdefg", "abcdefg");printf("%d\n", ret);return 0;
}

http://www.hkea.cn/news/347486/

相关文章:

  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容
  • 建立门户网站的意义营销推广网
  • 网站建设网站软件有哪些百度推广开户费用标准
  • 找家装修公司家装吉林seo外包
  • 保定医疗网站建设公司会计培训班初级费用
  • 最好的销售管理系统seo发帖网站
  • 德州乐陵德州seo公司seo批量建站
  • 贵州省建设监理协会官方网站seo代运营
  • 北京哪家做网站优化账号权重查询
  • 大唐网站建设培训管理平台
  • 男人和女人在床上做那个网站网络营销策划推广公司
  • 深圳市招投标交易中心天津谷歌优化
  • 厦门园网站忱建设百度推广怎么联系
  • 网站优化页面动态网站建设
  • 做网站域名公司每日重大军事新闻
  • 网站改版数据来源表改怎么做外链百科
  • wordpress怎样做单页网站谷歌查询关键词的工具叫什么
  • 县城做二手车网站自己建网站需要多少钱
  • 有没有专业做挂的网站引流推广方案
  • 购物网站开发文献综述百度收录需要多久
  • 营销型企业网站建设案例设计公司网站