Чтение набора букв с помощью оператора scanf в c

Я пытаюсь ввести данные с помощью scanf с условием, что

  1. первая буква должна начинаться с c,d,e
  2. в отсканированном тексте не должно быть гласных, удовлетворяющих условию (1) Еще пренебречь вводом И моя цель здесь — сделать это только через функцию scanf и в одну строку.

я пробовал это

scanf("%[c]%[^[aeiou\n]]",a);

Но когда я пытаюсь напечатать (a), я просто печатаю «c». Пожалуйста, помогите мне, где я делаю ошибку. Я открыт для новых идей.

Это то, что я получаю для следующего ввода Вход :

cdfgt

Вывод:

c

Требуемый результат должен быть Вывод:

cdfgt

Для сложных входных форматов scanf и семейство просто недостаточно хороши. Прочтите строку полностью и попытайтесь убедиться, что она соответствует требуемому формату (возможно, с помощью регулярных выражений).

Some programmer dude 24.01.2019 14:01

Как определяется a?

P.W 24.01.2019 14:02

это просто объявлено

sahith kumar 24.01.2019 14:04

Пожалуйста, включите и эту декларацию.

P.W 24.01.2019 14:06

Есть два спецификатора преобразования, поэтому вам нужны две переменные для хранения результатов.

Ctx 24.01.2019 14:09

Он объявлен как ( char a[20]; )

sahith kumar 24.01.2019 14:12

@sahithkumar использует fgets и самостоятельно анализирует строку, как это предлагается в первом комментарии. scanf просто не предназначен для пользовательского ввода. Это примерно 3-4 строки простого кода.

Jabberwocky 24.01.2019 14:13

Ваш scanf ищет 2 строки, и вы предоставляете a только для их хранения - лучше делать то, что предложили другие, а не использовать scanf.

Chris Turner 24.01.2019 15:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
8
80
0

Другие вопросы по теме