这方面的技能,在观察系统调用时,是很需要的。

但我不是很熟悉,另外,要再会函数指针数组的话,那就更强啦~~

按《HEAD FIRST C》作了个样例:

cat find.c
#include <stdio.h>
#include <string.h>

;
char *ADS[] = {
  "William: SBM GSOH like sports, TV, dining",
  "Matt: SWM NS likes art, movie, theater",
  "Peter: SHN like out ,art",
  "DWM: DS likes truncks, sports and bieber",
  "Luis: SLM ND likes books, theater, art",
  "Josh: SJM likes sports, movies and theater",
  "Mike: DWM DS likes trucks, sports and bieber"
  };
void find_raw() {
  int i;
  puts("Raw search results:");
  puts("=================");
  ; i < NUM_ADS; i++) {
        if (strstr(ADS[i], "sports" )
          && !strstr(ADS[i], "bieber")) {
          printf("%s\n", ADS[i]);
        }
  }
  puts("================");
}
int sports_no_bieber(char *s){
  return strstr(s, "sports") && !strstr(s, "bieber");
}
int sports_or_workout(char *s){
  return strstr(s, "sports") || strstr(s, "workout");
}
int theater_or_dining(char *s){
  return strstr(s, "theater") || strstr(s, "dining");
}

void find(int (*match)(char*) ){
  int i;
  puts("Search results:");
  puts("*******************");
  ; i < NUM_ADS; i++) {
    if ((*match)(ADS[i])) {
      printf("%s ;\n", ADS[i]);
    }
    if (!match(ADS[i])) {
      printf("$$$$$$$$$$$$$\n");
    }
  }
  puts("*************************");
}
int main() {
  find_raw();
  find(sports_or_workout);
  find(&theater_or_dining);
  ;
}

最新文章

  1. codevs 1281 Xn数列
  2. 基于Nodejs生态圈的TypeScript+React开发入门教程
  3. C语言知识总结(3)
  4. 初测WIN10
  5. 从零开始学android开发-字符如何转换整形 string 转化为int
  6. Python 基础篇:编码、变量、模块
  7. SQL Server数据类型
  8. UIScrollView入门与框架设计
  9. 如何用正确的姿势查看 主机系统的CPU信息
  10. AngularJS学习篇(十六)
  11. linux命令之 ifconfig
  12. mongodb在windows下安装启动
  13. HNOI2002 营业额统计(Splay Tree)
  14. hue,kylin,ambari
  15. Android -- 《 最美有物》好看的点赞效果
  16. Faster_RCNN 3.模型准备(下)
  17. js--单选按钮赋值
  18. 在JSP中获取oracle中的时间戳类型的字段并显示
  19. DEVC++ C++ Builder6.0
  20. oracle02--多表关联查询

热门文章

  1. C51 Keil 优化
  2. Qt构建工具QBS之零 —— QBS 概览
  3. C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转
  4. RedisTemplate
  5. docker 1.10.3 里php出现 curl 56错误码问题解决
  6. (转) Linux的capability深入分析(2)
  7. Visio 下载,及密钥
  8. Go语言的构建方法总结
  9. perl 学习笔记
  10. 关于bootstrap--排版(标题、强调、背景、插入符等)