Модератор: Модераторы разделов
Славик
Сообщения: 159
ОС: AltLinux2.4 master
Сообщение
Славик » 08.09.2007 15:28
Есть код из книги Кернигана и Ричи "Язык программирования C":
Код: Выделить всё
#include <stdio.h>
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%1d\n", nc);
}
а вот пример вызова:
Почему результат больше предполагаемого?
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
anonymous.ru
Сообщения: 614
Сообщение
anonymous.ru » 08.09.2007 15:36
echo -n "cccc"
Liksys
Сообщения: 2910
Сообщение
Liksys » 08.09.2007 15:41
потому, что в строку "cccc" входит еще один сиовол - новой строки: "cccc\n"
Славик
Сообщения: 159
ОС: AltLinux2.4 master
Сообщение
Славик » 08.09.2007 15:41
Ну надо ж было так лопухнуться! Точно, конец строки тоже посчитался.
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5
Сообщение
sergio » 08.09.2007 15:55
Darth Liksys писал(а): ↑ 08.09.2007 15:41
потому, что в строку "cccc" входит еще один сиовол - новой строки: "cccc\n"
Полагаю, что утверждение некорректно.
echo по умолчанию добавляет символ новой строки к концу вывода; как заметил anonymous.ru это умолчание отключается опцией -n
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Liksys
Сообщения: 2910
Сообщение
Liksys » 08.09.2007 17:31
Корректно, Читай внимательнее. Я имел ввиду исходную строку без опции, а не то, что имел ввиду anonymous.ru
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5
Сообщение
sergio » 08.09.2007 18:18
Darth Liksys писал(а): ↑ 08.09.2007 17:31
Корректно, Читай внимательнее. Я имел ввиду исходную строку без опции, а не то, что имел ввиду anonymous.ru
Что именно я прочел невнимательно? Поясни пожалуйста, так и не понял, что ты имел в виду.
С какой радости
потому, что в строку "cccc" входит еще один сиовол - новой строки: "cccc\n
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64
Сообщение
Uncle_Theodore » 08.09.2007 18:22
Имелось в виду, что в строку, сгенерированную командой echo "cccc", помимо четырех 'c' входит еще символ конца строки.
Схоластикой занимаемся?
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5
Сообщение
sergio » 08.09.2007 19:25
Uncle_Theodore писал(а): ↑ 08.09.2007 18:22
Имелось в виду, что в строку, сгенерированную командой echo "cccc", помимо четырех 'c' входит еще символ конца строки.
Схоластикой занимаемся?
Эта формулировка корректна и понятна, спасибо.
Нет, я пытался понять, с какого конца надо постигать дао, что
Код: Выделить всё
потому, что в строку "cccc" входит еще один сиовол - новой строки: "cccc\n"
Больше не будим, дядюшка.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux
Сообщение
v04bvs » 08.09.2007 19:43
sergio писал(а): ↑ 08.09.2007 19:25
Нет, я пытался понять, с какого конца надо постигать дао, что
Код: Выделить всё
потому, что в строку "cccc" входит еще один сиовол - новой строки: "cccc\n"
Ключевыми здесь является базовые навыки телепатии
Славик
Сообщения: 159
ОС: AltLinux2.4 master
Сообщение
Славик » 08.09.2007 20:51
Друзья! Отставить перебранку!
Вопрос решен с первых двух сообщений. Всем спасибо!
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу