K&R exercise 2.10 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вообщем иногда бывает аварийный останов программы. Разницу входных данных не подметил.Почему? PS. ПОхоже при превышении 30 символов, но почему? Как сделать так, чтобы программа выводила результат после перехода на новцю строку, а не по EOF
#include <stdio.h>
void lower(char s[]); 
 
int main(void)
{
    int c, i = 0;
    char s[30];
    while ((c = getchar()) != EOF || i != 30)
    {
        s[i] = c;
        i++;
    }   
    lower(s);
    return 0;
}
 
void lower(char s[])
{
    int i;
    for (i = 0; s[i] != '\0'; ++i)
    {
        printf("%c ", s[i] >= 'A' && s[i] <= 'Z' ? s[i] = 'a' + s[i] - 'A' : s[i]);
    }
    
}
на один вопрос ответил ) while ((c = getchar()) != '\n')

Решение задачи: «K&R exercise 2.10»

textual
Листинг программы
i != 29

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

14   голосов , оценка 3.929 из 5