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

做淘宝客如何引出图片到网站永久免费已备案二级域名注册

做淘宝客如何引出图片到网站,永久免费已备案二级域名注册,给个网站谢谢了,网站程序上传完C语言之字符串函数 文章目录 C语言之字符串函数1. strlen的使用和模拟实现1.1 strlen的使用1.2 strlen的模拟实现 2. strcpy的使用和模拟实现2.1 strcpy的使用2.2 strncpy的使用2.3 strcpy的模拟实现 3. strcat的使用和模拟实现3.1 strcat的使用3.2 strncat3.3 strcat的模拟实现…C语言之字符串函数 文章目录 C语言之字符串函数1. strlen的使用和模拟实现1.1 strlen的使用1.2 strlen的模拟实现 2. strcpy的使用和模拟实现2.1 strcpy的使用2.2 strncpy的使用2.3 strcpy的模拟实现 3. strcat的使用和模拟实现3.1 strcat的使用3.2 strncat3.3 strcat的模拟实现 4. strcmp 的使⽤和模拟实现4.1 strcmp的使用4.2 strncmp4.3 strcmp的模拟实现 1. strlen的使用和模拟实现 • 字符串以 ‘\0’ 作为结束标志strlen函数返回的是在字符串中 ‘\0’ 前⾯出现的字符个数不包含 ‘\0’ )。 • 参数指向的字符串必须要以 ‘\0’ 结束。 • 注意函数的返回值为size_t是⽆符号的 1.1 strlen的使用 strlen函数的声明 size_t strlen ( const char * str );strlen函数是用来计算字符串的长度的计算的是 ’ \0 之前字符的总个数 例子 #include stdio.h #include string.h //使用strlen需要包含的头文件 int main() {char arr[] abcdef;strlen(arr);printf(%s\n, arr);return 0; }运行结果为 6 与sizeof不同的是sizeof计算的数组中的元素个数包括’ \0 详细可看sizeof和strlen 1.2 strlen的模拟实现 给strlen传一个地址然后它就会计算’\0’之前字符的总个数并且返回值是size_t即无符号整型 代码如下 #include stdio.h #include string.h #include assert.h size_t my_strlen1(const char* str)//通过计数器的方式 {assert(str ! NULL); //assert断言判断传入的地址是否为空指针int count 0; while (*str ! \0)//str中的内容不为\0的时候进入循环{count;str;}return count;} size_t my_strlen2(const char* str)//指针 - 指针 计算的是两个指针之间的元素个数 {char* start str;assert(str ! NULL);while (*str ! \0){str;}return str - start;} size_t my_strlen3(const char* str) //递归的方式 //假设传入一个字符串abc //递的过程 //第一次进入函数*str a 调用本身1 my_strlen3(bc) //第二次进入函数*str b 调用本身1 1 my_strlen3(c) //第三次进入函数*str c 调用本身1 1 1 my_strlen3( ) //第四次进入函数*str \0 开始归 //第四次返回一个00 1 1 1 {if (*str \0)return 0;elsereturn 1 my_strlen3(str1); }int main() {char arr[] abcdef;size_t len1 my_strlen1(arr);size_t len2 my_strlen2(arr);size_t len3 my_strlen3(arr);printf(%zd\n,len1 );printf(%zd\n,len2 );printf(%zd\n,len3 );return 0; }以上为三种strlen的模拟实现代码运行如下 2. strcpy的使用和模拟实现 • 源字符串必须以 ‘\0’ 结束。 • 会将源字符串中的 ‘\0’ 拷⻉到⽬标空间。 • ⽬标空间必须⾜够⼤以确保能存放源字符串。 • ⽬标空间必须可修改。 2.1 strcpy的使用 函数声明如下 char * strcpy ( char * destination, const char * source );strcpy用来将source中的字符串拷贝到destination中去 例子 #include stdio.h #include string.hint main() {char arr1[20] { xxxxxxxx};char arr2[] abc;strcpy(arr1, arr2);printf(%s\n, arr1);return 0; }代码运行结果如下 可以看到strcpy将arr2中的元素拷贝了一份到arr1中同时在后面加上了一个’\0’所以abc之后的x不会打印 2.2 strncpy的使用 要想拷贝指定数量的元素可以使用strncpy 函数声明如下 char * strncpy ( char * destination, const char * source, size_t num );和strcpy差不多只是多了一个size_t num这个形参这个是用来拷贝指定数量的 例子 #include stdio.h #include string.h int main() {char arr1[20] { 0 };char arr2[] abcdef;strncpy(arr1, arr2,3);printf(%s\n, arr1);return 0; }代码运行结果如下 只会将arr2中前面3个元素拷贝到arr1中 2.3 strcpy的模拟实现 strcpy是用来将两个数组中下标一致的元素将source中的字符拷贝到destination中去一个一个拷贝 代码如下 写法一 char* my_strcpy(char* dest, char* src) {char* ret dest;assert(dest ! NULL);assert(src ! NULL);while (*src) //当src中的元素不为\0时进入循环{*dest *src; //将src中的值赋给dest*src; //src找到下一个元素的地址*dest; //dest找到下一个元素的地址}*dest *src; //由于当src中的元素为\0时循环结束了\0不会赋值到dest中去使用最后将\0赋值给destreturn ret; } int main() {char arr1[20] { 0 };char arr2[] abcdef;my_strcpy(arr1, arr2);printf(%s\n, arr1);return 0; }写法二 c #include stdio.h #include string.h #include assert.h char* my_strcpy(char* dest, char* src) {char* ret dest;assert(dest ! NULL); //判断传入的指针不是空指针assert(src ! NULL);while (*dest *src)// *dest *src 将src的值拷贝到dest//拷贝完之后通过指针偏移找到下一个元素//是先使用后加{//因为只是拷贝元素while里面不做什么事//使用while必须跟一个语句使用加上了一个空语句//使用大括号里边可以不加但是加上会更清晰一点;}return ret; } int main() {char arr1[20] { 0 };char arr2[] abcdef;my_strcpy(arr1, arr2);printf(%s\n, arr1);return 0; }3. strcat的使用和模拟实现 • 源字符串必须以 ‘\0’ 结束。 • ⽬标字符串中也得有 \0 否则没办法知道追加从哪⾥开始。 • ⽬标空间必须有⾜够的⼤能容纳下源字符串的内容。 • ⽬标空间必须可修改。 3.1 strcat的使用 函数声明如下 char * strcat ( char * destination, const char * source );strcat是将source中的元素追加到destination之后可以理解为两个字符串的拼接 例子如下 #include stdio.h #include string.hint main() {char arr1[20] hello ;char arr2[] world;strcat(arr1, arr2);printf(%s\n, arr1);return 0; }3.2 strncat 要想追加指定元素可以使用strncat 代码如下 #include stdio.h #include string.hint main() {char arr1[20] hello ;char arr2[] worldabcdef;strncat(arr1, arr2,5);printf(%s\n, arr1);return 0; }运行结果如下 只会将arr2中前五个元素追加到arr1中去之后的元素则不会追加 3.3 strcat的模拟实现 strcat是先找到destination中的’\0’然后再其后面开始追加元素 代码如下 include stdio.h #include string.h #include assert.hchar* my_strcat(char* dest, const char* src) {char* ret dest;assert(dest src);while (*dest) //当dest中的元素不为\0时dest找到\0的位置{dest;}while (*dest *src) //从\0之后的位置开始将src中的元素赋值给dest{;}return ret; } int main() {char arr1[20] hello ;char arr2[] world;my_strcat(arr1, arr2);printf(%s\n, arr1);return 0; }4. strcmp 的使⽤和模拟实现 ◦ 第⼀个字符串⼤于第⼆个字符串则返回⼤于0的数字 ◦ 第⼀个字符串等于第⼆个字符串则返回0 ◦ 第⼀个字符串⼩于第⼆个字符串则返回⼩于0的数字 ◦ 比较的是两个元素的ASCII值 4.1 strcmp的使用 函数声明如下 int strcmp ( const char * str1, const char * str2 );比较str1和str2中下标相同元素的ASCII值 如果第一个元素相等时则比较下一对元素的ASCII值 大于则返回一个大于零的值 小于则返回一个小于零的值 等于则返回零 例子 #include stdio.h #include string.hint main() {char arr1[] abcd;char arr2[] abq;int ret strcmp(arr1, arr2);if (ret 0)printf(大于\n);else if (ret 0)printf(等于\n);elseprintf(小于\n);return 0; }由于前两个元素相同所以比较第三个元素的ASCII值 q的ASCII值大于c的ASCII值 所以会打印小于 4.2 strncmp 可以指定比较的元素个数 代码如下 #include stdio.h #include string.hint main() {char arr1[] abcd;char arr2[] abq;int ret strncmp(arr1, arr2,2);if (ret 0)printf(大于\n);else if (ret 0)printf(等于\n);elseprintf(小于\n);return 0; }由于只比较了前两个元素的ASCII值前两个元素相等 所以会打印等于 4.3 strcmp的模拟实现 代码如下 #include stdio.h #include string.h #include assert.hint my_strcmp(const char* str1, const char* str2) {assert(str1 str2);while (*str1 *str2){if (*str1 \0)return 0;str1;str2;}return *str1 - *str2;} int main() {char arr1[] abcd;char arr2[] abq;int ret my_strcmp(arr1, arr2);if (ret 0)printf(大于\n);else if (ret 0)printf(等于\n);elseprintf(小于\n);return 0; }
http://www.pierceye.com/news/905865/

相关文章:

  • 做网站后台运营这个工作怎么样成都网络推广哪家好
  • angularjs做的网站有哪些wordpress 文章
  • 全国网站建设公司排名wordpress功能强大的主题
  • 做网站用c 还是php番禺制作网站平台
  • 营销网站运营的基本环节郑州大学现代远程教育 《网页设计与网站建设》个人主页
  • 网站建设合同是谁开的wordpress装主题需要ftp
  • 新乡门户网站建设方案开启wordpress upwn
  • 烟台企业自助建站系统浙江网站seo
  • 北京婚纱摄影网站珠海网站建设怎样
  • 用什么软件来做网站域名网安备案
  • 能打开各种网站的浏览器推荐制作小网站
  • 山东公司网站开发好看的个人博客主页
  • 长沙优化网站获客软件最新网页游戏排行榜2021
  • 学校网站 建设网络系统管理与维护电大考试题
  • 中文域名转码网站琼筑网站是哪家做的
  • iis 网站访问权限毕设做网站的过程
  • 俱乐部网站模板有什么外贸网站
  • 补习吧 一家专门做家教的网站wordpress繁体字插件
  • 北京西站附近景点网络运营工作内容
  • 网站开发文档模板flask网站开发源码
  • 东莞清洁服务网站建设wordpress收费主题
  • 微网站如何做门户网站建设成都
  • 厦门网络推广建网站前端做图表的网站
  • 河南郑州网站设计公司手机自助建网站
  • 做网站的公司主要做shm有域名了网站怎么做
  • 竭诚网络网站建设价格贺兰网站建设
  • 部门网站管理建设工作汇报wordpress一键生成app
  • 帝国视频网站模板做网站的环境配置
  • 龙采科技做网站多少钱域名如何申请
  • 中国银行全球门户网站wordpress 分类下排序