Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 2
1

Разобрать пример с Getchar и putchar

01.12.2014, 20:42. Показов 1785. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите понять отличия результатов вывода сего кода:
C
1
2
3
while((c = getchar()), c != EOF) {
        if(c >= 0)
            putchar(c + 1);
Ввожу в консоль, например, слово ‘hello’. После нажатия ‘Enter’ выводится ожидаемый результат, но приглашение к вводу нового символа начинается с пробелов, количество которых равно количеству выведенных ранее символов. В консоли это выглядит так:
Код
hello
ifmmp
     // приглашение к вводу нового символа начинается здесь, спустя 5 пробелов.
Почему так происходит? И почему это происходит, если значение в строке кода ‘if(c >= 0)’ от 0 да 10 (в десятичном исчислении). Если же значение больше 10, например ‘if(c >= 11)’, то после нажатия ‘Enter’ вывод будет выглядет в консоли следующим образом:
Код
hello
ifmmp // приглашение к вводу начинается в конце этой строки.
Возможно это как-то связано с символом NULL (пустой символ), но я не могу понять, как конкретно это происходит.
Буду рад за помощь, поскольку я уже замучался искать ответ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2014, 20:42
Ответы с готовыми решениями:

В чем суть функций putchar и getchar
подскажите кто знает что деляют эти функции

Для чего используется getchar и putchar?
Расскажите подробнее для чего используется getchar и putchar?

Функции getchar и putchar работают некорректно
Здраствуйте. Изучал язык Си. Функции getchar и putchar работали некорректно. Вот программа....

Объясните на примере getchar putchar и scanf printf
В чём отличие...как я понимаю : getchar() - ввод чего угодно. putchar() - вывод заданной...

2
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
02.12.2014, 13:49 2
Ты получаешь в том числе перевод строки, увеличиваешь на 1 и выводишь - это срабатывает как сдвиг вниз.
1
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 2
02.12.2014, 17:23  [ТС] 3
До меня дошло! перевод строки после +1 становится вертикальным табом, поэтому и такой эффект.
Спасибо за помощь.
0
02.12.2014, 17:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2014, 17:23
Помогаю со студенческими работами здесь

Керниган - Ритчи. getchar/putchar. Ошибка компиляции
Здравствуйте. Начал изучать C по второму изданию Кернигана - Ритчи. Программа: #include...

Функции getchar и putchar - вывести количество символов в строке
Изучаю Си по книге кернигана ритчи. Подскажите почему эта прога отказывается выводить на экран...

Программа перестает ожидать при использовании putchar/getchar
Всем привет. Мне тут посоветовали getchar(); использовать для ожидания нажатия клавиши после...

Каким образом putchar() и getchar() соответственно позволяют выводить и считывать больше одного символа?
#include <std_lib_facilities.h> #include <conio.h> using namespace std; int main() {...

Getchar и putchar EOF
Подскажите что за символ такой EOF? Чисто догадываясь это 0, но не работает. #include <stdio.h> ...

функции getchar() и putchar()
Здравствуйте всем. Такая вот задачка: Есть вот такой код: #include <iostream> #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru