Помимо предложений о печати символа \n
после массива (которые верны), вы также должны быть осторожны с вашим scanf
, который ожидает ответа "да / нет". Магген был первым, кто это заметил (см. Его ответ).
Вы использовали %c
, указанное в вашем scanf
. Спецификатор %c
в scanf
не пропускает пробелы, что означает, что этот scanf
будет читать все пробелы, оставшиеся во входном буфере после ввода массива. Вы нажимаете клавишу «Ввод» после ввода массива, который помещает символ новой строки в буфер ввода. После этого scanf("%c", &check)
немедленно прочитает этот ожидающий символ новой строки вместо того, чтобы ждать, пока вы введете «да» или «нет». Это еще одна причина, по которой ваш код ничего не печатает.
Чтобы исправить ваш scanf
, вы должны заставить его пропустить все пробельные символы перед прочтением фактического ответа. Вы можете сделать это scanf(" %c", &check)
. Обратите внимание на дополнительный пробел перед %c
. Пробел в строке формата scanf
заставляет пропустить все непрерывные пробелы, начиная с текущей позиции чтения. Символ новой строки оказывается пробелом, поэтому он будет игнорироваться этим scanf
.