mystrlen, mystrcpy, mystrcat, mystrcmp, mystrchr, mystrstr 实现.
来源:互联网 发布:python集成开发环境 编辑:程序博客网 时间:2024/04/29 07:31
面试过程中,经常碰到的一类基础编程题是关于C中string.h中若干常用函数的实现,下面做个简单整理:
1. 【mystrlen】 ---- 求字串长度
size_t mystrlen (const char* str) {assert (str);size_t length=0;while ((*str++)!='\0')length++;return length;}
2. 【mystrcpy】 ----- 字符串拷贝
char* mystrcpy (char* des, const char* src) {assert (des && src);char* ptr=des;while ((*des++=*src++)!='\0');return ptr;}
3. 【mystrcat】 ---- 字符串连接
char* strcat (char* str1,const char* str2) {assert (str1 && str2);char* ptr=str1;while (*ptr!='\0')ptr++;while ((*ptr++=*str2++)!='\0');return str1;}
4. 【mystrcmp】---- 字符串比较
int mystrcmp (const char* s1, const char* s2) {assert (s1 && s2);while (*s1&&*s2&&(*s1==*s2))s1++,s2++;return *s2-*s1;}
5. 【mystrchr】 ----- 查找字符
char* mystrchr (const char* str, char c) {assert (str);char *ptr=(char*)str;while (*ptr!='\0'&&*ptr!=c)ptr++;return *ptr==c ? ptr : NULL;}
6. 【mystrstr】 ---- 查找子串
char* mystrstr (const char* str, const char* substr) {assert (str&&substr);size_t len1=0,len2=0,pos=0;while (*(str+len1)!='\0') len1++;while (*(substr+len2)!='\0') len2++;if (len2>len1) return NULL;while (pos++<len1-len2) {int ipos=0;while ((ipos++<len2)&&(*(str+pos+ipos)==*(substr+ipos)));if (ipos == len2)return (char*)(str+pos);}return NULL;}
- mystrlen, mystrcpy, mystrcat, mystrcmp, mystrchr, mystrstr 实现.
- MyStrlen, MyStrcmp, MyReverse,MyStrcpy,MyStrncpy,Merge,Change
- mystr函数 mystrcpy mystrncmp mystrtok mystrlen
- myStrchr
- myStrstr
- mystrcat
- myStrcat
- myStrcmp
- myStrlen
- 编写自己的的MyStrlen/MyStrcpy函数,字符数组和指针
- myStrcpy
- MyStrcpy
- 题目:编写程序,实现strcmp()相同功能myStrcmp()函数
- 编写程序,实现strcmp()相同功能myStrcmp()函数
- 编写程序,实现strcmp()相同功能myStrcmp()函数
- 编写程序,实现strlen()相同功能myStrlen()函数
- 实现一个同strcpy功能相同的函数mystrcpy
- 编写程序,实现strcpy()相同功能myStrcpy()函数
- loadrunner中数据库数据参数化
- Nginx学习第二篇:编译安装Nginx
- sql根据一条数据ID取得上一条和下一条的问题
- svn tags如何修改为仅可读
- javascript合并HTML单元格
- mystrlen, mystrcpy, mystrcat, mystrcmp, mystrchr, mystrstr 实现.
- 博客之路
- 安卓手机刷机失败自救教程
- 【读书笔记】软件工程·实践者的研究方法第7版 第二部分 建模 第5章 理解需求
- Android——Fragment介绍
- 保护视力不可忽视
- STM32 时钟学习
- 【练习向】jQuery基础教程第四版课后练习——Book05_jQuery_操作DOM
- 【初学者常见问题】深入理解“==”和equals()