笔试面试题12--字符串拷贝、链接、比较无库函数实现
来源:互联网 发布:编辑gif软件ios 编辑:程序博客网 时间:2024/06/05 16:42
面试案例1:字符串拷贝函数问题。(不调用库函数)
char *strcpy(char *strDest, const char *strSrc){ assert((strDest != NULL) && (strSrc != NULL)); char *address = strDest; while((*strDest ++ = *strSrc ++) != '\0'); return address;}
面试案例2:字符串链接问题。(不调用库函数)
char* strcat(char* des, const char* src) // const表明为输入参数 { assert((des!=NULL) && (src!=NULL)); char* address = des; while(*des != '\0') // 移动到字符串末尾 ++des; while(*des++ = *src++) ; return address; }
面试案例3:字符串比较问题。(不调用库函数)
int strcmp(const char *s1,const char *s2) { assert((s1!=NULL) && (s2!=NULL)); while(*s1 == *s2) { if(*s1 == '\0') return 0; ++s1; ++s2; } return *s1 - *s2; }
面试案例4:字符串长度问题。(不调用库函数)
int strlen(const char* str) { assert(str != NULL); int len = 0; while((*str++) != '\0') ++len; return len; }
void assert( int expression );
宏 assert 经常用于在函数开始处检验传入参数的合法性,可以将其看作是异常处理的一种高级形式。assert 的作用是先计算表达式expression,然后判断:
如果表达式值为假,那么它先向stderr打印错误信息,然后通过调用 abort 来终止程序运行。
如果表达式值为真,继续运行后面的程序。
注意:assert只在 DEBUG 下生效,在调试结束后,可以通过在#include
0 0
- 笔试面试题12--字符串拷贝、链接、比较无库函数实现
- 经典面试题--不调用库函数实现字符串的拷贝
- C++ 笔试面试题链接
- C++ 笔试面试题链接
- 面试题--字符串拷贝函数
- 笔试面试题之字符串
- [经典面试题]实现memcpy库函数
- 一个关于字符串拷贝的面试题
- C++面试题之字符串的拷贝
- 笔试面试题(7)--字符串的复制
- 笔试面试题(9)----字符串全排列
- 关于"字符串"的笔试,面试题
- [面试] - 常见重写字符串库函数的面试题 - “一网打尽”
- 5、不用库函数,实现C语言中的字符串拷贝charcpy()
- 不使用库函数实现字符串拷贝函数strcpy写法
- 面试题-基础-字符串转整数&字符串拷贝函数
- Java中String字符串比较面试题
- 剑指offer——面试题49:不使用atoi库函数实现把字符串转换成整数
- 欢迎使用CSDN-markdown编辑器
- query1.9radio checkbox操作
- Android笔记hm002
- AndroidStudio设置SVN版本控制工具
- μCOS-Ⅲ——临界段
- 笔试面试题12--字符串拷贝、链接、比较无库函数实现
- 序列
- 微信html5开发平台
- 安卓绘制圆形图片
- 剑指Offer:数值的整数次方
- 第7周 C语言程序设计(新2版) 练习2-2 不用&&或||,写一个等价的for循环的程序
- oracle输出信息
- Android 自定义checkbox样式
- union