Как Проверить, Находится Ли Первый Символ В Определенных Позициях Ввода «C»

#c #string #input #while-loop #char

Вопрос:

Я работаю над программой, которая принимает заданный пользователем ввод любой длины и проверяет, находится ли первый символ этого ввода (до пробела) в пределах 10-16 — й позиции ввода той же строки, затем, если символ находится в пределах 10-16 — й позиции, он будет повторять ввод (после пробела).

Текущий Код

 # include <stdio.h>

int main() {
    int in;
                                                          
    in = getchar();
    while (in != 'n'){                                       
        putchar(in);

        in = getchar();
    }

    return 0;
}
 

Этот код даст мне ввод любого размера и вернет его обратно.. Где у меня возникают проблемы, это прохождение ввода и проверка того, находится ли первый символ в 10-16 символах ввода. Я пытался использовать указатели безрезультатно, потому что я не знаю, как это сделать без использования строки, я не могу использовать строку только потому, что строка требует, чтобы я ввел длину, которая в данном случае не допускается.

Текущий вход и выход

 >f 012r4g67f
f 012r4g67f

>a 012345678a
a 012345678a

 

Правильный ввод и вывод

 >f 012r4g67f
 

Ничто Не Должно Повторяться, потому что » f » не находится в пределах 10-16

 >a 012345678a
012345678a

 

Все, что после пробела повторяется как a, находится в пределах первых 10-16 символов

Ответ №1:

у вас есть 2 способа просмотреть вводимые пользователем данные :

  • вы читаете, просматривая getchar, и используете if для анализа возвращенного символа
  • вы сохраняете результаты getchar в массиве, чтобы манипулировать содержимым

Комментарии:

1. Как бы я мог хранить результаты getchar() в массиве? а затем пересечь массив? Я немного новичок в C, поэтому не знаю, является ли этот вопрос элементарным.

2. вам нужно знать, как использовать массивы , а затем, после того как вы настроите правильный размер для своей строки, вы можете сделать что-то вроде этого array[index] = c c-это ваш символ, в котором хранится один символ, возвращаемый getchar