Вопрос в операторах putchar() и getchar().
Если код такой:
s=getchar()
putchar(s)
то он выводит почему то только один символ, самый первый. Объясните саму суть, в учебнике написано, что изначально строковая переменная должна декларироваться как int...
Такая запись выводит все строку разом
while (s!=EOF){
putchar(s)
s=getchar()
}
Объясните логику этих манипуляций. Как я понимаю этот цикл -> Сначала идет проверка на соответсвие s значению конца файла, s не равно и он топает в тело цикла. Далее он выводит содержимое переменной s, затем снова просит ввести с клавиатуры значение переменной s.
Но если удалить строчку s=getchar() , то по логике он должен выводить все содержимое переменной s бесконечно, что он идет, за одним исключением, печатает он только первый символ. Или я не так понимаю getcha()r?
Примечание:
Извиняюсь за опечатки)
Примечание:
Но как тогда происходит итерация этого символьного массива без индексов?
Примечание:
Или он работает так...
Вбиваю якобы кучу символов... он берет getchar'ом первый символ (не с клавиатуры,а с экрана), а putchar'ом выводит на монитор, как только все символы закончились он просит ввести их с клавиатуры? То есть getchar не просто ввод от пользователя но и чтения из буфера консоли?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.