Разчитане на код в C !
Здравейте!
Моля да ми помогнете в разчитането на следния ред и къде бъркам в прилагането му
while ( i < len && scanf("%d", &a[i++]) == 1);
Задача е всички елементи да се въведат в един ред с интервал помежду им. Проблемът идва от това, че цикълът не прекъсва докато не се въведе "Enter", независимо колко елемента въвеждам.
scanf("%d", &a[i++]) == 1
Не мога да си обясня напълно горния ред. scanf - чете число и при интервал го въвежда в масива, след което i се увеличава с едно и сочи следващия елемент. Би трябвало това да приключи при i = len(от по-горния ред), но не е така. След "Enter" масивът е запълнен с точния брой елементи, но въведените в повече оказват влияние на програмата. Сигурно има начини да се изчисти буфера.
Бих желал да използвам точно посочения фрагмен, ако разбира се е възможно!
Благодаря!
Пробвах!
Същия резултат!
Сложих тестов брояч да следи i и той спира да се увеличава при i = len, но въвеждането на числата не спира !!! :)
Опитах и външен цикъл, но той не може да прекъсне вътрешния!
Благодаря!