Возможно, вам пришлось вводить новую строку, чтобы ввод шел в вашу программу, верно? Во второй раз, когда ваш цикл выполняет, он читает тот символ новой строки, который «ожидал» чтения, и автоматически выходит из цикла ('\n' != 'y'
). Вы можете заставить scanf игнорировать пробелы, используя вместо этого строку формата:
" %c"