это чтение двух EOF (ctrl + Z), чтобы остановить программу
Нет.Возможно, вы дважды нажимаете ^ Z, но scanf()
только «читает» один конец файла EOF
.Именно так работает ваш интерфейс клавиатуры / ОС.Узнайте, как сигнализировать об окончании файла.
Другие изменения
char A[10000];
// while(scanf(" %[^\n]s",A)!=EOF);
// Drop final `;` (That ends the while block)
// Add width limit
// Compare against the desired result, 1, not against one of the undesired results, EOF
// Drop the 's'
while(scanf(" %9999[^\n]", A) == 1) {
length=strlen(A);
// print(length,A);
print("%d <%s>\n", length, A);
//printf("HELLO\n");
}