Проверка вхождения символов в строку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

char *alf1 = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
char *alf2 = "0123456789abcdefABCDEF";
 
// в функции проверяем, если ли в строке buf символы, которых нет в alf
// 1 - все символы строки входят в фильтр
// 0 - есть символ, который не входит в фильтр
int checkword (char *buf,int len,char *alf)
{
  for (int i=0;i<len;i++)
   {
       int flag = 0;
       if (strchr(alf,buf[i]))
       {
         flag = 1;
         break;
        }
    }  return 1;
}
Не знаю как прописать, чтобы функция возвращала 0. что-то вроде:
 if (!flag) return 0;
только всё, что я пробовал, не работало.

Решение задачи: «Проверка вхождения символов в строку»

textual
Листинг программы
int checkword (char *buf,int len,char *alf)
{
int i;
  for (i=0;i<len;i++)   
       if (strchr(alf,buf[i])==NULL) return 0;
   return 1;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы