Принимая неизвестные номера ввода - PullRequest
0 голосов
/ 23 марта 2020

У меня есть C задание на программирование, которое требует, чтобы я сначала взял несколько чисел с разделенными пробелами входами и сохранил их в массиве.

Пример ввода выглядит так:

X 18 34 5

Y 34 56 7

r 10 23 2

Количество строк может быть больше этого, а также пробелы между теми числами, которые находятся в одной строке, могут быть больше чем один (например: 23_34 или 23 ______ 34)

После получения ввода мне нужно удерживать 3. arr1 = состоит из первых значений каждого входа), arr2 = состоит из вторых значений каждого входа и arr3 = от первого до третьего значения каждого входа. Если я могу взять входные данные и назначить им временные переменные, я смогу преодолеть их, чтобы поместить их в массивы.

Я проверил много обсуждений, но ни один из постов не смог решить мою проблему.

Возможно while(c = getchar() != EOF) может быть решением для этого, но я не могу получить логику c за ней, а также написать ее правильно ..

Редактировать: Это мой код


    char a;
    int b,c,d;
    while ((a = getchar()) != EOF){
        ungetc(a,stdin);
        scanf("%c %d %d %d",&a,&b,&c,&d);
        printf("%c %d %d %d\n",a,b,c,d);


Почему этот код печатает также предыдущие значения? (нажмите, чтобы увидеть изображение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...