Проверить принадлежность элемента множеству - C (СИ)

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

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

Пишу
if(f[i]=='+' || f[i]=='-' || f[i]=='*' || f[i]=='/' || f[i]=='^' || f[i]=='(') {...};
Но кажется это слишком длинно. На Паскале я бы написал:
if f[i] in ['-','+','*','/','^','('] then ...
Есть ли в C или C++ что-то подобное?

Решение задачи: «Проверить принадлежность элемента множеству»

textual
Листинг программы
#include <string.h>
 
...
 
    if (strchr("-+*/^(", c) != NULL)
        printf("found" "\n");

Объяснение кода листинга программы

  1. Включаем библиотеку string.h, которая содержит функции для работы со строками.
  2. ...
  3. Проверяем, принадлежит ли символ c одному из символов в строке -+*/^(. Если да, то выводим found.
  4. Используем функцию strchr, которая ищет первое вхождение символа в строке.
  5. В данном случае ищем символ c в строке -+*/^(.
  6. Если символ найден, то функция возвращает не NULL.
  7. Используем оператор != для проверки, что результат не равен NULL.
  8. Если условие истинно, то выводим found.
  9. Используем функцию printf для вывода строки found.
  10. Выводим символ новой строки \n.

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


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

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

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