/*
* Exercise 2-5 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 character from
* s2.
*
* fduan, Dec. 13, 2011
*/
#include <stdio.h>
int locate_char( char s[], int c )
{
int i = 0;
while( s[i] != '\0' && s[i] != c )
++i;
return ( s[i] == '\0' ) ? -1 : i;
}
int any( char s[], char t[] )
{
int i, j;
i = 0;
while( s[i] != '\0' )
{
if( ( j = locate_char( t, s[i++] ) ) != -1 )
break;
}
return ( j == -1 ) ? -1 : ( i - 1 );
}
int main()
{
char s[] = "abcdefg";
char t[] = "eg";
int pos;
pos = any( s, t );
printf( "pos = %d\n", pos );
return 0;
}
K&R C Exercise 2-5 Solution
最新推荐文章于 2024-07-30 10:50:46 发布