程序中value是要查找的字符,strings指向字符串列表

程序1:

#include <stdio.h>
#define TRUE 1
#define FALSE 0int find_char(char **strings, char value){//strings指向是一个字符串列表,类似于就是二维的字符数组char *string; //当前正在查找的字符串while ((string = *strings++) != NULL){while (*string != '\0'){//当还没有到当前字符串末尾时if (*string++ == value){//观察字符串中的每个字符,看看它是不是需要查找的那个return TRUE;}}}return FALSE;
}

注:string++等价于 (string++)

程序2:

#include <stdio.h>
#include <assert.h>#define TRUE 1
#define FALSE 0int find_char(char **strings, char value){//strings指向是一个字符串列表,类似于就是二维的字符数组assert(strings != NULL);//字符串列表不为空,继续执行;若为空,则报错while (*strings != NULL){//若当前被查找字符串为不空while (*strings != '\0'){//且没到字符串的末尾if (*(*strings++) == value){//观察字符串中的每个字符,看看它是不是需要查找的那个return TRUE;}}strings++;//指针跳到下一个字符串的头部}return FALSE;
}

程序1是对指向每个字符串的指针作了一份拷贝。虽然程序2不需要拷贝,但是有个副作用,它破坏了指针数组,因为移动了strings的位置,只适用于字符串查找一次的情况。

《C和指针》——在一组字符串中查找相关推荐

  1. 字符串匹配:字符串中查找某子串

    字符串匹配:字符串中查找某子串 需求 具体算法 常规方法 程序 KMP算法 程序 后续 需求 我们在平时的软件开发,尤其是嵌入式开发,字符串匹配是非常重要的一个算法.而目前常用的字符串匹配算法有很多, ...

  2. C++ std::string::find()函数(在字符串中查找内容)

    文章目录 mancpp std::string::find 上面文档中的代码示例 mancpp std::string::find std::string::find(3) C++ Programme ...

  3. 面试题之在字符串中查找出第一个只出现一次的字符的位置

    样例:比如"abcdabc",第一个只出现一次的字符为d,位置为3 解决方案1:O(n*n)的复杂度 遍历字符串中的每个字符,然后用该字符在字符串中进行查找,如果没有找到和当前字符 ...

  4. hiho1482出勤记录II(string类字符串中查找字符串,库函数的应用)

    string类中有很多好用的函数,这里介绍在string类字符串中查找字符串的函数. string类字符串中查找字符串一般可以用: 1.s.find(s1)函数,从前往后查找与目标字符串匹配的第一个位 ...

  5. 字符串中查找IP地址的正则表达式

    字符串中查找IP地址的正则表达式: IP地址:(2[0-4]\d|25[0-5]|[01]\d\d|\d\d|\d)\.(2[0-4]\d|25[0-5]|[01]\d\d|\d\d|\d)\.(2[ ...

  6. javascript 字符串中查找指定字符串

    在javascript中,有以下三个方法均可实现在字符串中查找指定的字符及字符串. str.indexOf(); 此方法:查找字符在字符串对象中第一次出现的位置.存在,则返回字符串所在的位置.不存在, ...

  7. C语言--使用指针实现删除字符串中的空格

    本篇主要实现了在C语言使用指针实现删除字符串中的空格,详细内容见下面代码,主要利用指针遍历所得到的字符串,使用一个指针指向字符串首地址,判断其是否为空格,如果是则定义一个临时指针,并遍历之后的所有字符 ...

  8. 在字符串中查找指定字符

    10-1. 在字符串中查找指定字符(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 白洪欢(浙江大学) 输入一个字符串S,再输 ...

  9. 本题要求编写程序,从给定字符串中查找某指定的字符。

    本题要求编写程序,从给定字符串中查找某指定的字符. 输入格式: 输入的第一行是一个待查找的字符.第二行是一个以回车结束的非空字符串(不超过80个字符). 输出格式: 如果找到,在一行内按照格式&quo ...

最新文章

  1. java 老年代回收_Java垃圾回收之老年代垃圾收集器
  2. @loj - 6353@「CodePlus 2018 4 月赛」组合数问题 2
  3. YaaS,we can!
  4. 安卓开发fragment报错_android开发 Fragment嵌套调用常见错误
  5. python爬虫拉取豆瓣Top250数据
  6. 初二计算机辅导记录,信息技术指导老师的讲课笔记十篇(2)
  7. .net面向对象学习笔记
  8. 激光笔可以测光纤通断吗?
  9. 完整且易读的微信小程序的注册页面(包含倒计时验证码、获取用户信息)
  10. opengl在三维场景中绘制透明物体_WPF 3D绘图-三维建模技术井眼轨迹图实现(一)...
  11. 图之Dijkstra算法
  12. 解决Flex4 发布后访问 初始化极其缓慢的问题
  13. python 图像相似度;用0-1矩阵表示两幅图像的相似度
  14. ESP8266无线模块相互通信
  15. EasyDemo*CSS尺寸与框模型(六七)
  16. 基于51单片机的四位共阴数码管秒表proteus仿真
  17. phpstorm连接mysql
  18. 2022年上海市安全员C证考试试题模拟考试平台操作
  19. MOOC网课爬虫逆向(一)
  20. 让深度学习进入移动端,蘑菇街在移动端的深度学习优化实践

热门文章

  1. redis集群断电数据怎么恢复_如何做到 10T 集群数据安全备份、1GB/s 快速恢复?...
  2. argument type mismatch怎么解决_怎么做好GMAT 的CR?
  3. python语言的特点有没有面向过程_Python 入门基础之面向对象过程-面向过程概述...
  4. 全连接层的作用是什么?
  5. vue获取剪切板内容_vue通过clipboard插件实现复制到剪切板功能
  6. 百度云:centos7.0+ 安装宝塔与ShopXO开源商城(从0搭建到部署上线) - 教程篇
  7. vue中class绑定函数
  8. 变量声明方式:let与var的区别
  9. CI框架PHP漫画小说二合一CMS网站系统源码
  10. wordpress模板-响应式博客主题模板-Repay主题开源版