Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
#1

Почему функция putchar(); выводит только первый символ?(Короткий код) - C++

01.08.2015, 20:12. Просмотров 463. Ответов 25
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <conio.h>
int main()
{
  int c;
  c=getchar();
  putchar(c);
  getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 20:12     Почему функция putchar(); выводит только первый символ?(Короткий код)
Посмотрите здесь:
Почему печатает только первый символ из argv[i]? C++
C++ Почему putchar() выводит всю строку?
Функция getc (FILE*) при первом вызве считывает НЕ ПЕРВЫЙ символ файла.Почему? C++
Почему выводит не первый повторяющияся элемент? C++
Выводится только первый символ строки C++
C++ Считывается только первый символ char
Выводит только первый элемент массива символов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 20:17     Почему функция putchar(); выводит только первый символ?(Короткий код) #2
Потому что функция putchar предназначена для вывода только одного символа.
char - сокращение от character - символ.
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 20:29  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #3
Но ведь в цикле получается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#define eof 71
int main()
{
  int c;
  c=getchar();
  while(c!=eof)
  {
      c=getchar();
      putchar(c);
  }
  getch();
}
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 20:33     Почему функция putchar(); выводит только первый символ?(Короткий код) #4
Что в цикле получается?
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 20:36  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #5
В цикле получается putchar вывести все символы, не только один
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 20:43     Почему функция putchar(); выводит только первый символ?(Короткий код) #6
Цитата Сообщение от Aqua77 Посмотреть сообщение
В цикле получается putchar вывести все символы, не только один
Это поразительно логично.
Объясни задачу.
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 20:47  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #7
Я просто хочу знать почему putchar в цикле выводит все символы. Ведь putchar предназначен для вывода только одного символа.
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 20:55     Почему функция putchar(); выводит только первый символ?(Короткий код) #8
Цитата Сообщение от Aqua77 Посмотреть сообщение
Я просто хочу знать почему putchar в цикле выводит все символы. Ведь putchar предназначен для вывода только одного символа.
Вот теперь всё стало понятно. Мне необходимо подумать...
kuza84
-4 / 23 / 4
Регистрация: 25.04.2013
Сообщений: 195
01.08.2015, 21:03     Почему функция putchar(); выводит только первый символ?(Короткий код) #9
Цитата Сообщение от Aqua77 Посмотреть сообщение
Я просто хочу знать почему putchar в цикле выводит все символы. Ведь putchar предназначен для вывода только одного символа.
может putchar выводит по одному символу в одну итерацию.
zss
Модератор
Эксперт С++
6277 / 5880 / 1902
Регистрация: 18.12.2011
Сообщений: 15,079
Завершенные тесты: 1
01.08.2015, 21:27     Почему функция putchar(); выводит только первый символ?(Короткий код) #10
getchar и putchar реализуют буферизованный ввод-вывод.
Пока не нажмете enter символы копятся в буфере, а потом уж выводятся.
Поэтому и создается ощущение, что все сразу.

C++
1
2
3
4
5
6
c=getche();
  while(c!='\n')
  {
      putch(c);
      c=getche();
  }
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 22:02  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #11
А почему без цикла выводится только один символ?
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 22:06     Почему функция putchar(); выводит только первый символ?(Короткий код) #12
Aqua77, а почему бы вам не описать задачу/проблему?
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 22:08  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #13
Моя задача узнать. Почему putchar в цикле выводит все символы. Ведь putchar предназначен для вывода только одного символа.
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 22:11     Почему функция putchar(); выводит только первый символ?(Короткий код) #14
Aqua77, почему ты такая/такой тупая/тупой?
tnk500
113 / 117 / 25
Регистрация: 25.08.2012
Сообщений: 1,269
Завершенные тесты: 3
01.08.2015, 22:11     Почему функция putchar(); выводит только первый символ?(Короткий код) #15
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Aqua77, на условие посмотрите в цикле. 'Пока символ, вычитанный в стандартном потоке входа (stdin, как он официально зовется) не равен нулю, делать цикл'. А в цикле читается слелующий символ. Когда вы пишите строку и жмете Enter, во входной поток записывается ваша строка с нулем в конце. В итоге каждая итерация цикла читает эту строку по одному символу и кладет его в стандартный выходной поток (stdout).
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 22:20  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #16
Я задаю опрос чтобы не быть тупым. Ты не можешь ответить на вопрос, ты тоже тупой . Зачем тогда вообще пишешь сюда?
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 22:26     Почему функция putchar(); выводит только первый символ?(Короткий код) #17
Цитата Сообщение от Aqua77 Посмотреть сообщение
Ты не можешь ответить на вопрос, ты тоже тупой .
Все это и так знают.
Цитата Сообщение от Aqua77 Посмотреть сообщение
Я задаю опрос чтобы не быть тупым.
Задавай вопрос правильно, тупым не будешь.
Aqua77
25 / 25 / 16
Регистрация: 13.07.2015
Сообщений: 430
01.08.2015, 22:31  [ТС]     Почему функция putchar(); выводит только первый символ?(Короткий код) #18
Что непонятного в вопросе "Почему putchar в цикле выводит все символы. Ведь putchar предназначен для вывода только одного символа." ?
kuza84
-4 / 23 / 4
Регистрация: 25.04.2013
Сообщений: 195
01.08.2015, 22:36     Почему функция putchar(); выводит только первый символ?(Короткий код) #19
Цитата Сообщение от Aqua77 Посмотреть сообщение
Ты не можешь ответить на вопрос,
дело в том что, ваша подача темы не вызывает вопроса.

Если вы умеете читать код и знаете как работает данная функция то у вас вопрос не возникнет, но если вы сомневаетесь посмотрите в литературе описание работы этой функции.

Добавлено через 2 минуты
Цитата Сообщение от Aqua77 Посмотреть сообщение
"Почему putchar в цикле выводит все символы. Ведь putchar предназначен для вывода только одного символа." ?
У вас вопросов по циклу нет случайно? А то можете задать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2015, 22:37     Почему функция putchar(); выводит только первый символ?(Короткий код)
Еще ссылки по теме:
Выводится в файл только первый символ строки, остальные пустые C++
Вывод переменных типа char: правильно выводится только первый символ C++
C++ Функция находит в строке первый символ, который не входит в другую строку
C++ Почему выводит только последнюю строчку?
C++ Функция, находящая в строке первый символ, который входит в другую заданную строку

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 22:37     Почему функция putchar(); выводит только первый символ?(Короткий код) #20
Цитата Сообщение от Aqua77 Посмотреть сообщение
Что непонятного в вопросе
А что непонятного в ответе:
Цитата Сообщение от castaway Посмотреть сообщение
Потому что функция putchar предназначена для вывода только одного символа.
+ 1
+ 2
Yandex
Объявления
01.08.2015, 22:37     Почему функция putchar(); выводит только первый символ?(Короткий код)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru