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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2012, 03:44   #1
MayhemWithMercy
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 23
По умолчанию Мини-вопрос по С.

Код:

#include <stdio.h>

main()
{
  int c;
  while((c=getchar())!=EOF)
  {
    putchar(c); 
  } 
}
Как выйти из этого цикла? Я не пойму как присвоить этот EOF, чтобы условие не выполнилось. И main завершился...
Начал читать книгу Кернигана и Ричи, вот, это вводная программа по работе с I/O, но там не упомянули как отсюда выйти,
и я сам чегото не могу догнать.

Последний раз редактировалось MayhemWithMercy; 30.08.2012 в 04:05.
MayhemWithMercy вне форума Ответить с цитированием
Старый 30.08.2012, 04:55   #2
bedman
Пользователь
 
Регистрация: 24.07.2012
Сообщений: 28
По умолчанию

break
или ^Z

Последний раз редактировалось bedman; 30.08.2012 в 05:28.
bedman вне форума Ответить с цитированием
Старый 30.08.2012, 07:27   #3
tuluku
 
Регистрация: 22.03.2012
Сообщений: 7
По умолчанию

Ctrl+C, чтобы выйти из консоли.
Можно добавить в код что-то наподобие
Код:
if (c==113) break;
В итоге получится:
Код:
#include <stdio.h>

main()
{
  int c;
  while((c=getchar())!=EOF)
  {
    putchar(c);
    if (c==113) break;
  } 
}
Тогда при вводе с клавиатуры символа "q" цикл будет завершаться
(113 - ASCII-код символа "q")
eseninodin@hotmail.com
ICQ 610132883
tuluku вне форума Ответить с цитированием
Старый 30.08.2012, 10:36   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от tuluku Посмотреть сообщение
(113 - ASCII-код символа "q")
Может тогда лучше писать 'q' вместо магических констант...
waleri вне форума Ответить с цитированием
Старый 30.08.2012, 12:52   #5
MayhemWithMercy
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от tuluku Посмотреть сообщение
Ctrl+C, чтобы выйти из консоли.
Можно добавить в код что-то наподобие
Код:
if (c==113) break;
В итоге получится:

Тогда при вводе с клавиатуры символа "q" цикл будет завершаться
(113 - ASCII-код символа "q")
Я не настолько не знаю хДД, просто дальше к примеру идет еще одна программа

Код:
#include ‹stdio.h›
  
main()  /*эта подсчитывает кол-во симолов*/
{ 
  long length; 
  length=0;  
  while (getchar()!= EOF) 
    ++length; 
  printf("%ld\n", length); 
}
Знает ли кто-нибудь, как выйти конкретно из этого цикла? Именно во время выполнения программы.
И чтобы, увидеть printf("%ld\n", length);
Код:
while (getchar()!= EOF) 
  ++length;

Последний раз редактировалось MayhemWithMercy; 30.08.2012 в 13:09.
MayhemWithMercy вне форума Ответить с цитированием
Старый 30.08.2012, 13:20   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Запустите программу из консольного окна.
Напишите несколько букв
Нажмите Ctrl-Z

Так понятней?
waleri вне форума Ответить с цитированием
Старый 30.08.2012, 13:26   #7
MayhemWithMercy
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Запустите программу из консольного окна.
Напишите несколько букв
Нажмите Ctrl-Z

Так понятней?
Все понял, спс.
MayhemWithMercy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мини-профиль Nikolay_s Общие вопросы по Java, Java SE, Kotlin 0 05.07.2012 17:02
Вопрос по Excel, Access бд и Vba, Создание мини проги. Sserega Microsoft Office Excel 3 19.06.2012 16:01
Мини-паук Drayvs Фриланс 9 13.09.2010 22:40
мини опрос risc JavaScript, Ajax 1 15.04.2010 00:57
Мини-вопрос Pascal valis Помощь студентам 1 04.10.2009 09:49