привет, 
у Керигана с Ричи в учебной главе есть упражнение 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)
 - Галерея учусь... (2005)
 
- Галерея Учусь (2006)
 - Форум Учитесь (2005)
 - Форум Учиться и ещё раз учится! (2005)
 - Форум Учитесь троллить (2012)
 - Форум учимся читать (2012)