Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2011, 06:44   #1
dan_treacy101
 
Регистрация: 15.07.2011
Сообщений: 3
По умолчанию Подсчет символов.

Доброе время суток!
Дело в том, что я только начал изучать язык С. Программа простая, но при этом не пойму почему, но она не работает.

Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
long n;
n=0;
printf("Vvedite stroku\n");
while (getchar() !=EOF)
{
++n;
}
printf("%ld\n",n);
}
Не может выйти из цикла?

Последний раз редактировалось dan_treacy101; 15.07.2011 в 06:48.
dan_treacy101 вне форума Ответить с цитированием
Старый 15.07.2011, 07:12   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Милейший, а как Вы собирались с клавиатуры символ конца файла (EOF) ввести?)
Сделайте, например, while (getchar() != '\n') - будет считывать до символа перевода строки (по сути, до нажатия кнопки Enter).
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 16.07.2011, 03:11   #3
dan_treacy101
 
Регистрация: 15.07.2011
Сообщений: 3
По умолчанию

эм... а почему тогда в Керрнигане, Ритчи "Язык С", так и написано?
Учу по самой книге, но вот пруф:
http://www.sanych99.narod.ru/New_Site/books/kr/011.html
dan_treacy101 вне форума Ответить с цитированием
Старый 16.07.2011, 11:04   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Granus

Милейший, а как Вы собирались с клавиатуры символ конца файла (EOF) ввести?)

Пальчиками, любезнейший, пальчиками!
Вот, ознакомьтесь: http://en.wikipedia.org/wiki/End-of-file
Rififi вне форума Ответить с цитированием
Старый 16.07.2011, 16:45   #5
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Сообщение от Rififi
Пальчиками, любезнейший, пальчиками!
Ухты. Спасибо, не знал, что так можно. Хотя мне кажется глупым считывать до EOF из консоли)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 16.07.2011, 17:05   #6
TDrive
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 95
По умолчанию

Цитата:
Сообщение от Granus Посмотреть сообщение
Ухты. Спасибо, не знал, что так можно. Хотя мне кажется глупым считывать до EOF из консоли)
ошибаетесь. это нужно если необходим ввод несколько строчек текста. такие вещи в *nix более актуальны например команда cat.
TDrive вне форума Ответить с цитированием
Старый 16.07.2011, 20:35   #7
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от dan_treacy101 Посмотреть сообщение
Не может выйти из цикла?
Работает...
Код:
Vvedite stroku
stroka
^Z
7
Ctrl+Z - закончить цикл - это будет означать EOF.
An1ka вне форума Ответить с цитированием
Старый 26.07.2011, 00:50   #8
dan_treacy101
 
Регистрация: 15.07.2011
Сообщений: 3
По умолчанию

Rififi

Спасибо большое за ссылку, проблема решена.

Последний раз редактировалось dan_treacy101; 26.07.2011 в 00:58.
dan_treacy101 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет к-ва символов из масива tresh Общие вопросы Delphi 9 03.06.2011 16:15
подсчет прочитанных символов Asdprom Общие вопросы C/C++ 4 04.03.2011 15:27
Подсчет: слов и количества символов (C#) freddykruger Помощь студентам 9 28.04.2010 11:29
Подсчет символов в числе. bygoga Общие вопросы C/C++ 4 20.05.2009 18:34
подсчет символов и слов в тексте(паскаль) Noven'kii Помощь студентам 4 16.05.2009 10:10