题目:
Write the function any(s1,s2),which returns the first location in the string s1 where any character from the string s2 occurs,or -1 if s1 contains no characters from s2.(The standard library function strpbrk does the same job but returns a pointer to the location.)
#include <stdio.h>
int any(char s1[],char s2[]);
void main(){
char s1[] = "123334523344";
char s2[] = "334";
printf("%d",any(s1,s2));
}
int any(char s1[],char s2[]){
int i,j;
int p;
i = j = 0;
p = -1;
for(;s1[i] != '\0';i++){
if(s1[i] == s2[j]){
p = i;
while(s1[i] == s2[j] && s1[i] != '\0' && s2[j] != '\0'){
i++;
j++;
}
if(s2[j] == '\0'){
i--;
break;
}else{
i = p;
p = -1;
}
j = 0;
}
}
return p;
}