C语言常见字符串面试题 1. 字符串库函数的内部实现 memset库函数的实现 /* * memset - Fill a region of memory with the given value * @s: Pointer to the start of the area. * @c: The byte to fill the area with * @count: The size of the area. */ void *memset(void *s, int c, size_t count) { char *xs = s; while (count--) *xs++ = c; return s; } memcpy库函数的实现 /* * memcpy - Copy one area of memory to another * @dest: Where to copy to * @src: Where to copy from * @count: The size of the area. */ void *memcpy(void *dest, const void *src, size_t count) { char *tmp = dest; const char *s = src; while (count--) *tmp++ = *s++; return dest; } memmove库函数的实现 /* * memmove - Copy one area of memory to another * @dest: Where to copy to * @src: Where to copy from * @count: The size of the area. * Unlike memcpy(), memmove() copes with overlapping areas. */ void *memmove(void *dest, const void *src, size_t count) { char *tmp; const char *s; if (dest = l2) { l1--; if (!memcmp(s1, s2, l2)) return (char *)s1; s1++; } return NULL; } 常见字符串面试题 1)写出在母串中查找子串出现次数的代码. int count1(char* str, char* s) { char* s1; char* s2; int count = 0; while(*str!='/0') { s1 = str; s2 = s; while(*s2 == *s1 s1++; } if(*s2 == '/0') count++; str++; } return count; } 2)查找第一个匹配子串位置,如果返回的是s1长度len1表示没有找到 size_t find(char* s1,char* s2) { size_t i=0; size_t len1 = strlen(s1) size_t len2 = strlen(s2); if(len1-len2 #include #include char *commanstring(char shortstring[], char longstring[]) { int i, j; char *substring=malloc(256); if(strstr(longstring, shortstring)!=NULL)//如果……,那么返回shortst ring return shortstring; for(i=strlen(shortstring)-1;i0; i--) //否则,开始循环计算 { for(j=0; jstrlen(str2)) //将短的字符串放前面 comman=commanstring(str2, str1); else comman=commanstring(str1, str2); printf(“the longest comman string is: %s/n“, comman); } 6) 判断一个字符串是不是回文 int IsReverseStr(char *str) { int i,j; int found=1; if(str==NULL) return -1; char* p = str-1; while(*++p!= '/0'); --p; while(*str==*p if(!*cpSource) break; } ++cpSource; } return cpDest; }

展开阅读全文

c语言字符串操作面试题,C语言常见字符串面试题.pdf相关推荐

  1. 【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )

    文章目录 一.strlen 与 sizeof 函数 二.计算 字符串长度 与 内存块大小 一.strlen 与 sizeof 函数 strlen() 函数的作用是获取字符串大小 , 其原理是 从 内存 ...

  2. go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤

    最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork. 软件环境:Goland.Navicat f ...

  3. windows c语言目录操作函数,c语言目录操作在C/C++语言中如何进行目录操作,如得到目录内的 爱问知识人...

    这里给你提供一些C的目录操作函数,原型声明所在头文件为dir.h.dos.h,仅供参考: int chdir(char *path) 使指定的目录path(如:"C:\\WINDOWS&qu ...

  4. 云计算工程师面试题集锦,常见云计算面试题及答案

    受政策持续加码及技术突破的双重利好,我国云计算产业进入发展机遇期,云计算人才也成为企业高薪聘用的对象.很多有志学子看好云计算的未来前景,通过参加培训班快速掌握技术,那么学习效果怎么样呢?下面分享常见的 ...

  5. react 面试题 高级_常见 React 面试题

    (给前端大全加星标,提升前端技能) 作者:小胡 https://github.com/nanhupatar/FEGuide/blob/master/框架/react.md React 中 keys 的 ...

  6. react 面试题 高级_常见react面试题汇总(适合中级前端)

    转载自<原文> React 中 keys 的作用是什么? Keys 是 React 用于追踪哪些列表中元素被修改.被添加或者被移除的辅助标识. render () {return( {th ...

  7. c语言字符串中的字符无效,字符串操作

    字符串主要用于编程,字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的.字符串也有很多操作,在正文将对C语言.C++和java中对其操作进行介绍. 中文名 字符串操作 外文名 strin ...

  8. c语言strcpy两字符串长度不同,(C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/st...

    看到很多面试都会要求你写一些简单的字符串操作函数,这些函数看起来挺简单的,但是自己写的时候就会发现不少的问题.所以我自己把大部分的字符串操作函数都写了一遍,然后用了个测试程序来测试自己写的函数与库函数 ...

  9. C语言文件操作解析(二)【转载】

    http://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199598.html C语言文件操作解析(二) C语言中对文件进行操作必须首先打开文件, ...

  10. C语言文件操作解析(二)

    C语言文件操作解析(二) C语言中对文件进行操作必须首先打开文件,打开文件主要涉及到fopen函数.fopen函数的原型为 FILE* fopen(const char *path,const cha ...

最新文章

  1. bzoj1150 [CTSC2007]数据备份Backup
  2. Github标星9k+,超赞的 PyTorch 资源大列表!
  3. Yoshua Bengio团队通过在网络「隐藏空间」中使用降噪器以提高深度神经网络的「鲁棒性」
  4. 【错误记录】Android NDK 错误排查记录 ( error: undefined reference to | Linking CXX shared library FAILED )
  5. SQL Plus的主要功能
  6. Java与C++的几个显著不同
  7. 设计模式总结之Composite Pattern(组合模式)
  8. php 5.3配置,php-5.3.3 说明及配置
  9. android studio 3.0设置字体
  10. Redis中的客户端重定向
  11. 解决朋友圈压缩_朋友中最有趣的朋友[已解决]
  12. 蚂蚁金服 3 个项目进入 CNCF 云原生全景图 | 开源
  13. C#LeetCode刷题之#15-三数之和(3Sum)
  14. 阿里云计算新增ODPS、SLS两款云产品
  15. 云计算引入可能破坏之前建立的IT秩序
  16. shell脚本 空格
  17. RBF神经网络参数的参数优化(进化算法)+Matlab源码
  18. 软件实施工程师是一个什么样的工作?他的具体工作内容是什么?发展前景怎样?...
  19. Deep Glow for mac(AE高级辉光特效插件)
  20. 顶尖互联网公司 类名定义/数据库字段 - 英文名词解释

热门文章

  1. 解决忘记oracle管理员密码(转)
  2. 系统搜索功能不能使用,弹出“无法找到运行搜索助理需要的一个文件”
  3. CopyOnWriteArrayList源码分析
  4. zabbix报错:Zabbix服务启动不了
  5. JS替换空格回车换行符
  6. crontab定时巡检使用
  7. Linux命令(4):cat命令
  8. OpenNI2下简单操作两个体感设备(Xtion与Kinect for Xbox 360)
  9. Acdream Xor 简单数学
  10. 深入理解JavaScript系列(4):立即调用的函数表达式