привет,
у Керигана с Ричи в учебной главе есть упражнение 1.7:
"Напишите программу, которая копирует ввод на вывод,
заменяя при этом каждую последовательность из одного
или более пробелов на один пробел"
я ломал голову всю субботу и вот что сегодня утром придумал:
----------
/* ms2os.c - программка замены двух и более пробелов подряд
* на стандартном вводе на один пробел в стандартном выводе */
#include <stdio.h>
#define EOF -1
main()
{
int c, d, ns;
ns = d = 0;
while ((c = getchar()) != EOF) {
if (c == 32)
++ns;
if (c != 32)
ns = 0;
if (ns > 1)
c = '\0';
putchar(c);
}
}
что интересно - оно работает!
Но есть смутные сомнения - а может что-то сделано не по правилам или не рационально? Можно ли считать, что я верно решил упражнение? Или надо было его решить по другому?
Подскажите пож все ли у меня верно.. Не дайте умереть будущему Коксу-2.. :)
Ответ на:
комментарий
от nobody
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Пытаюсь разобраться в Си, криво работает программа (2007)
- Форум EOF (2008)
- Форум Учится, учится и еще раз учится. (2009)
- Галерея Учуся (2009)
- Галерея Учусь (2006)
- Галерея учусь... (2005)
- Форум Учитесь (2005)
- Форум Учиться и ещё раз учится! (2005)
- Форум учимся читать (2012)
- Форум где учиться? (2012)