字符串函数实现(strlen,strcpy,strcmp,strcat,strrev)
声明:以下代码可能并非最佳方法,若有错误疑问欢迎提出!!!
strlen函数
#include<stdio.h>
#include<string.h>int mylen(char *str)
{int cnt=0;while(str[cnt]!='\0')cnt++;return cnt;
}
int main()
{char s[]="hello";printf("%d\n",mylen(s));printf("%d",strlen(s));return 0;
}
strcpy函数
#include<stdio.h>
#include<string.h>char* mycpy(char *p,const char *q)
{char *a=p;while(*q!=NULL)*p++=*q++;*p='\0';//p已经移动到最后一位,需要一个变量能找到它的地址,该变量就是a return a;
}
int main()
{char q[]="hello";char p[]="\0";printf("%s\n",mycpy(p,q));printf("%s",strcpy(p,q));return 0;
}
strcmp函数
/*
主要思想是遍历两个字符串的相同部分,直到不同时比较不同字符的大小;
*/
#include<stdio.h>
#include<string.h>int mycmp(char *p,char *q)
{while(*p==*q&&*p!='\0'){p++;q++;}if(*p-*q>0)return 1;if(*p-*q<0)return -1;if(*p-*q==0)return 0;
}
int main()
{char p[]="hello";char q[]="hi";printf("%d\n",mycmp(p,q));printf("%d",strcmp(p,q));return 0;
}
strcat函数
#include<stdio.h>
#include<string.h>char *mycat(char *p,char *q)
{char *a=p;while(*p!='\0')p++;while(*q!=NULL)*p++=*q++;return a;
}
int main()
{char q[]="world!!!";char p[]="hello ";printf("%s\n",mycat(p,q));
// printf("%s",strcat(p,q));return 0;
}
strrev函数
/*
思路参考顺序链表的逆置函数inversion
*/
#include<stdio.h>
#include<string.h>char *myrev(char *str)
{int top=0;int bottom=-1;char *a=str;char t;while(*a!='\0'){a++;bottom++;}while(top<bottom){t=str[top];str[top]=str[bottom];str[bottom]=t;top++;bottom--;}return str;
}
int main()
{char a[]="hello";printf("%s\n",myrev(a));printf("%s",strrev(a));return 0;
}
字符串函数实现(strlen,strcpy,strcmp,strcat,strrev)相关推荐
- C语言库函数的实现(strlen strcpy strcmp strcat strstr)
库函数的实现 strlen strcpy strcmp strcat strstr assert函数 头文件:assert.h 又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的 ...
- (C语言)常用的字符串函数介绍(strcpy,strncpy,strcat,strncat,strcmp,strncmp,strchar,strlen)非常详细
理解 strcpy,strncpy,strcat,strncat,strcmp,strncmp,strchar,strlen这些函数,可以帮助我们更好的对字符串进行操作,做到玩转字符串. 目录 1.s ...
- strlen,strcpy,strcmp,strcat,strncpy,strncmp,strncat
写在前面:本文比较长,覆盖了c语言中较多的字符串函数,作者会先带各位了解标准库对函数的介绍,然后模拟实现相关功能. strlen 求字符串长度 size_t表明返回一个无符号类型的数字,是因为考虑到l ...
- strlen, strcpy,strcmp,strcat,strncpy,strncmp,strncat,strst库函数的详细解析以及模拟实现
- c语言strcpy两字符串长度不同,(C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/st...
看到很多面试都会要求你写一些简单的字符串操作函数,这些函数看起来挺简单的,但是自己写的时候就会发现不少的问题.所以我自己把大部分的字符串操作函数都写了一遍,然后用了个测试程序来测试自己写的函数与库函数 ...
- 字符串函数(strlen、str(n)cat、str(n)cmp、str(n)cpy)
头文件 string.h strlen函数 计算字符串长度,从一个char地址出发一直到空字符,但空字符不计入总数. 用法:strlen(char*) 举例: char a[70]="I h ...
- 自定义字符串函数:strlen,strcat,strcpy,strcmp
版权声明:本文为博主原创文章,未经博主允许不得转载. 计算字符串长度函数strlen: int mystrlen(char *s) {int count = 0;char *p = s;if (!p) ...
- C基础--字符串操作函数(strlen,strcpy,strcmp,strcat,strstr,strtok,strchr)
#include <stdio.h> #include <string.h> int main(void) {//char dest[10];//#define NULL (v ...
- 用子函数实现strlen.strcpy.strcat.strcmp(完整代码)
strlen思路 循环遍历数组(字符串),直至第i位等于尾零'\0',循环结束:定义一个变量 在循环内自加 strcat思路 循环遍历第一个字符串,找到末尾,'\0'的位置,然后将第二个字符串,从头开 ...
最新文章
- W3C HTML 工作组联合主席Paul Cotton谈HTML5发展愿景
- Fragment与FragmentActivity的关系
- 屏蔽朋友圈的第一天的感悟
- java代码同时下载_java代码实现打包多个文件下载功能
- Windows 7系统如何重装或安装IE8?
- aix升级openssh_AIX5.3如何安装openssh | 学步园
- java并发编程-----深入剖析ThreadLocal
- linux编译内核的步骤
- SQL索引管理器——用于SQL Server和Azure上的索引维护的免费GUI工具
- mysql maratadb_Mysql/Mairadb主从复制
- mysqladmin命令详解
- LINUX下载编译YASM
- 阿里云云计算 3 阿里云产品全家福
- sas 分析家模块 安装,SAS9.3 13.3G完整版安装过程与模块介绍
- Python实战系列-爬取网页内容
- 【Unity】关于ScreenCapture.CaptureScreenshot截屏的尝试
- php写猴子搬香蕉问题,世界500强企业面试题:猴子吃香蕉
- NOD32升级ID,免费ID升级网址
- 塔望食业洞察|植物肉行业发展趋势 品牌竞争格局及未来发展
- E-puck2机器人系列教程-8.切换WIFI模式ESP32固件烧录
热门文章
- python实现tomasulo算法_手写算法-python代码实现KNN
- 浅谈电量传感器在数据中心的UPS电源中的应用
- 成功解决_catboost.CatBoostError: Bad value for num_feature: Cannot convert ‘b‘\x8f\x91‘‘ to float
- Python语言学习之字母G开头函数使用集锦:global用法之详细攻略
- NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类
- ML之NN:利用神经网络的BP算法解决XOR类(异或非)问题(BP solve XOR Problem)
- 运行 vue 报node错
- 简单的防盗链技术(过滤器原理)
- springboot 单元测试
- set nocount on