<C primer plus> Chapter 11.5
2018-01-28 14:43
190 查看
/*设计并测试一个函数,搜索第一个函数形参指定的字符串,在其中查找第二个函数形参指定的字符首次出现的位置。如果成功,该函数返回指向该字符的指针,如果未找到指定字符,则返回空指针(该函数的功能与strchr()函数相同)。在一个完整的程序中测试该函数,使用一个循环给函数提供输入值。*/
# include <stdio.h> # include <string.h> # define SIZE 100 char *FIND(char *arr,char ch) { int len=strlen(arr); char *p=arr; int i; for(i=0; i<len; i++) { if(ch==*p) return p; p++; //pointer moves with ch } if(i==len) return NULL; } int main(void) { char arr[SIZE]="watermelon"; char ch; char *ps; printf("Enter a character(Ctrl+Z to quit):\n"); while(scanf("%c",&ch)==1) { getchar();//get '\n' ps=FIND(arr,ch); if(ps) printf("Found %c in apple\n",*ps); else printf("Not found\n"); } return 0; }
# include <stdio.h> # include <string.h> char *FIND(char *arr,char ch) { int i=0; int len=strlen(arr); while(i<len) { if(arr[i]==ch) { return &arr[i]; break; } i++; } if(arr[len]=='\0') return &arr[len]; } int main() { char arr[]="apple"; char ch; printf("Enter a character(Ctrl+Z to quit):\n"); while(scanf("%c",&ch)==1) { getchar();//get '\n' char *p=FIND(arr,ch); if(*p) printf("Found %c in apple\n",*p); else printf("Not found\n"); } return 0; }
初学指针运用到处碰壁,借鉴以上代码加以修改用来理解,并非自己想出来的
相关文章推荐
- <C primer plus> Chapter 11.7
- <C primer plus> Chapter 11.10
- <C primer plus > Chapter 11.6
- Chapter 9<C++ Primer Plus>
- <<C++Primer PLus 第五版>>读书笔记2
- <<C++Primer PLus 第五版>>读书笔记3
- <<C++Primer PLus 第五版>>读书笔记4
- <<C++Primer PLus 第五版>>读书笔记4(终篇)
- <<C++Primer PLus 第五版>>读书笔记3
- <C Primer Plus> 1 ~ 6 章
- <<C++Primer PLus 第五版>>读书笔记2
- <C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”
- 集体智慧编程chapter 2提供推荐<寻找相似性的用户>
- [翻译]<Web Scraping with Python>Chapter 1.你的第一个网络爬虫
- C++ Primer Plus (Chapter 9)
- 模版与泛型编程--<c++ primer>16章
- C++ Primer Plus (Six Edition) Chapter 3, Review
- C++ Primer Plus 第六版_编程练习(1)(Chapter_two 1-7)
- mybatis-plus<一>
- 《C primer plus》笔记--Chapter 1