У меня есть 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);
Почему этот код печатает также предыдущие значения? (нажмите, чтобы увидеть изображение)