/** C和指针,第六章,第一题 查找一个个定的字符集中出现的字符。 基本想法:在source中,匹配chars字符串中任何字符的第一个字符。 */ #include <stdio.h> #include <stdlib.h> char const *find_char(char const *source,char const *charz) { int a = 0; char const *src = source; char string = *src; while(string!='\0') { char const *chars = charz; for(;*chars!='\0';) { if(*chars++!=string)continue; else{ a = 1; break; } } if(a==1) { return src; }else{ string = *++src; } } return NULL; } int main(void) { char source[100]; char chars[100]; char const *src; printf("请输入一个源字符串:\n"); gets(source); while(1) { printf("请输入一个搜索字符串:\n"); gets(chars); src = find_char(source,chars); if(src==NULL) { printf("匹配失败!!:\n"); continue; } printf("匹配成功!!:\n"); printf("%c",*src); while(*++src!='\0') printf("%c",*src); printf("\n"); } return 0; }