字符串笔试面试题
2015-10-19 10:51
295 查看
1、实现strcpy函数
2、实现memcpy函数
3、实现strcmp函数
4、实现strcat函数
char *strcpy(char *destination, const char *source) { assert(destination!=NULL&&source!=NULL); char* target = destinaton; while(*destinaton++=*source++); return target ; }
2、实现memcpy函数
void *memcopy(void *dest,const void *src,size_t count) { char *pDest=(char *)(dest); const char *pSrc=(const char *)(src); assert(dest!=NULL&&src!=NULL); //目的地址和源地址重叠,从源地址的末尾方向开始拷贝 if( pDest>pSrc && pDest<pSrc+count ) { pDest = pDest + count-1; pSrc = pSrc + count-1; while(count--){ *pDest-- = *pSrc--; } } //目的地址和源地址不重叠,从源地址的开始方向拷贝 else { while(count--){ *pDest++ = *pSrc++; } } return pDest; }
3、实现strcmp函数
int strcmp(const char *str1, const char *str2) { assert(str1!=0&&str2!=0); while(*str1 == *str2 &&*str1 != '/0') str1++,str2++; if(*str1 > *str2) return 1; else if(*str1 == *str2) return 0; return -1; }
4、实现strcat函数
char *strcat(char *dest, const char *src) { char *tmp = dest; while (*dest) dest++; while ((*dest++ = *src++) != '\0'); return tmp; }
相关文章推荐
- 为什么中国的程序员总被称为码农
- 十八大编程法则提升程序员效率
- 【July程序员编程艺术】之链表追赶问题
- 黑马程序员-OC回顾-基础语法
- 七个对我最重要的职业建议(译文)
- ios 面试
- iOS---面试题汇总
- iOS面试题大全100-115
- iOS面试题大全86-99
- iOS面试题大全66-85
- 超全!iOS 面试题汇总
- iOS面试题大全56-65
- 月薪3万的程序员都避开了哪些坑
- 黑马程序员-内省学习笔记
- 黑马程序员---成长之路-----OC之基础篇Foundation©
- 黑马程序员 Java基础——面向对象思想
- 黑马程序员 Java基础难点总结day2
- 黑马程序员---成长之路-----OC之基础篇Foundation框架
- 黑马程序员---成长之路-----OC之基础篇ARC和类别
- 黑马程序员---成长之路-----OC之基础篇MRC内存管理