Упражнение 2.5. Напишите функцию any(s1, s2), которая возвращает либо ту позицию в s1, где стоит первый символ, совпавший с любым из символов в s2, либо -1 (если ни один символ из s1 не совпадает с символами из s2). (Стандартная библиотечная функция strpbrk делает то же самое, но выдает не номер позиции символа, а указатель на символ.)
* Copyright 2013 Pavel <pavel@pavel-Ubuntu>
*/
#include <stdio.h>
int any(char s1[], char s2[]);
int main()
{
char first[] = "Hello world!";
char second[] = "plt";
printf("first location: %d\n", any(first, second));
return 0;
}
/*any(s1, s2)*/
int any(char s1[], char s2[])
{
int i, j;
for(j = 0; s2[j] != '\0'; j++)
{
for(i = 0; s1[i] != '\0'; i++)
if(s1[i] == s2[j])
return i;
}
return -1;
}
Результат:
Комментариев нет:
Отправить комментарий