Моя задача считывается двумя строками цифр и сохраняет их в разных массивах. Я решил использовать функцию scanf, но программа может читать только первую строку. Это мой плохой код.Scanf и две строки
int main()
{
int firstArray[50], secondArray[50], i, j;
/* fill an array with 0 */
for(i=0; i<50; ++i)
{
firstArray[i]=secondArray[i]=0;
}
i=j=0;
while((scanf("%d", &firstArray[i]))== 1) { ++i; }
while((scanf("%d", &secondArray[j]))== 1) { ++j; }
/* Print this. */
for(i = 0; i < 20; ++i)
{
printf("%d ", firstArray[i]);
}
putchar('\n');
for(j = 0; j < 20; ++j)
{
printf("%d ", secondArray[j]);
}
return 0;
}
Я просто не понимаю, как работает функция scanf. Может кто-нибудь объяснить?
Как выглядит вход в 'scanf'? –
# первая строка 123 54 34 54 3455 [конец строки; или \ n]. И # вторая строка - то же самое/ – Ascelhem
@ user1334306 читать этот комментарий только сейчас, собираюсь обновить мой ответ! – ShinTakezou