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

网站建设总结 优帮云体育门户网站模板

网站建设总结 优帮云,体育门户网站模板,wordpress 字体更换,郴州网站小程序前言: 在学习C语言的过程中,字符串、字符数组等对新手来说总是会有疏忽,在已有的库函数中,我们平时用到最多的就是关于字符串的函数,今天我们就来详细学习字符串函数的相关内容。 下面我们就开始讲解字符串函数&#x…

前言:

在学习C语言的过程中,字符串、字符数组等对新手来说总是会有疏忽,在已有的库函数中,我们平时用到最多的就是关于字符串的函数,今天我们就来详细学习字符串函数的相关内容。

下面我们就开始讲解字符串函数,讲解的主要内容为字符串函数的用法及其模拟实现

1.strlen函数的使用和模拟实现

size_t strlen ( const char * str);

1、strlen函数是用来求字符串长度的函数,它的参数必须是字符串的地址,并且是以’\0‘作为结束标志

2、strlen函数的返回类型是无符号整形,所以两个strlen(arr1)-strlen(arr2)的结果不可能为负数,这样比较字符串长度的方式是不对的

3、strlen函数所需要的头文件为<string.h>

  strlen函数的应用

#include<stdio.h>
#include<string.h>
int main()
{char arr1[] = "abcdef";char arr2[] = "bbbbb";if (strlen(arr1) - strlen(arr2) > 0)/*这就是上面提到的错误,因为strlen返回类型为无符号整型,所以当这两个数相减为负值时实际上在内存中是一个很大的正整数*/{printf(">\n");}else{printf("<=\n");}return 0;
}

strlen函数的模拟实现

方法1:

//创建临时变量
int my_strlen(const char* str)
{int count = 0;assert(str);while (*str != '\0'){count++;str++;}return count;
}

方法2:

//使用递归
int my_strlen(const char* str)
{assert(str);if (*str == '\0')return 0;elsereturn 1 + my_strlen(++str);
}

方法3:

//指针-指针
int my_strlen(const char* str)
{assert(str);char* p = str;while (*str != '\0'){str++;}return str - p;
}

上面的几种模拟实现strlen函数的方法都涉及到assert函数,如果有不理解可以看我之前一篇:C语言——assert函数

2.strcpy函数的使用及模拟实现

char* strcpy(char * des,const char * source );

1、strcpy函数返回类型为指针

2、strcpy函数会将源字符串后第一个'\0'一并复制到目标字符串

3、目标字符串的空间必须足够大,不然容易造成溢出

strcpy函数的使用

#include<stdio.h>
#include<string.h>
int main()
{char arr1[] = "abcdef";char arr2[20] = { 0 };strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}

strcpy函数的模拟实现

char* my_strcpy(char* arr2, const char* arr1)//函数返回类型为指针
{assert(arr1 && arr2);//确保arr1和arr2都不为空char* p = arr2;while (*arr2++ = *arr1++)//将arr1中的值一个一个传给arr2{;}return p;//返回arr2的原地址
}

3.strcat函数的使用及模拟实现

char* strcpy(char * des,const char * source );

strcat函数返回类型及使用要求与strcpy函数基本一致,可以看上面的

strcat函数的使用

#include<stdio.h>
#include<string.h>
int main()
{char arr1[20] = "I am ";//arr1空间要足够大char arr2[] = "zhangsan";strcat(arr1, arr2);printf("%s\n", arr1);return 0;
}

strcat函数的模拟实现

char* my_strcat(char* arr1, const char* arr2)
{assert(arr1 && arr2);char* p = arr1;while (*arr1 != '\0'){arr1++;}while (*arr2 != '\0'){*arr1 = *arr2;arr1++;arr2++;}return p;//返回arr1的原地址
}

4.strcmp函数的使用及模拟实现

int strcmp(const char * arr1,const char * arr2 );

strcmp函数返回类型是整形,大于返回整数,小于返回负数,等于返回0

strcmp函数的使用

#include<stdio.h>
#include<string.h>
int main()
{char arr1 = "abcdef";char arr2 = "bbbbb";int ret = strcmp(arr1, arr2);if (ret > 0){printf(">\n");}else if (ret < 0){printf("<\n");}else{printf("=\n");}return 0;
}

strcmp函数的模拟实现

int my_strcmp(const char* arr1, const char* arr2)
{asssrt(arr1 && arr2);while (*arr1 == *arr2){if (*arr1 == '\0')return 0;arr1++;arr2++;}return *arr2 - *arr1;
}

5.字符转换函数

C语言提供两种字符转换函数:

char towlower(char c);//将传进去的大写字母转换成小写字母
char towupper(char c);//将传进去的小写字母转换成大写字母

函数使用

#include<stdio.h>
#include<string.h>
int main()
{printf("%c\n", towlower('A'));printf("%c\n", towupper('a'));return 0;
}

上面几个函数就是C语言中用的最多的几个字符串函数,在下一篇我们将继续探索C语言中更多的字符串函数,欲知后事,还请点赞加关注,在接下来的一篇,我们将一同探索strstr、strtok、strerror等更多字符串函数。

创作不易,还请一键三连!!!

http://www.yayakq.cn/news/580520/

相关文章:

  • 常州网站推广招聘支付集成文件放在网站哪里
  • 外贸网站建设与推广装修公司网站设计
  • 好看的单页面网站模板济南企业建站品牌
  • 网站建设补充范本广西新农村建设工作专题网站
  • 门户网站区别网站建设 版权归属
  • 亚马逊站外推广网站重庆本土网站
  • 360做网站和推广怎么样住建部定调房地产市场
  • 大庆 网站建设网站建设的单可以刷吗
  • 做物理的网站200网址大全
  • 网站支付的功能如何做wordpress+头像加速
  • 台州做鞋子网站网站建设名牌
  • 山西省城乡住房和建设厅网站pageadmin自助建站系统
  • 做那个类型的网站赚钱wordpress卖
  • 淘宝直播要先建设个网站吗网站语言切换前端可以做么
  • 济南本地网站深圳网站建设收费标准
  • 黄页网站推广app公司做网站怎么做账
  • 大连网站开发价格国家工商企业查询系统
  • 计算机学院网站建设wordpress 用户充值
  • 网站采集功能佛山从事网站建设
  • 简约网站怎么优化wordpress数据库表
  • 开店做网站有域名如何搭建网站
  • 电子商务网站建设的语言及特点乐之网站制作
  • 域名反查网站seo群发软件
  • 常州网站外包德勤管理咨询
  • 课程网站建设的基本原理兰州网站推广建设
  • 宁波网站推广服务wordpress安装无法登录
  • 我帮你建站引导企业做网站
  • 合肥做网站行吗小程序数据库怎么建立
  • 网站建设中最重要的环节换空间网站备案吗
  • 南京明辉建设有限公司网站如何在网站做文档资料