|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.09.2016, 16:59 | #1 |
Пользователь
Регистрация: 13.09.2016
Сообщений: 16
|
Первые шаги в С
Добрый день. Делаю первые шаги в С. С позволения администрации, и, дабы не плодить тем, буду здесь спрашивать очевидные для всех, но непонятные для меня моменты и, возможно, глупости.
Моя первая программа (вместо хэлоуворлд): Код:
Если программу запускать как "a.out > test", то вводимая информация окажется в файле test, как и предполагалось. Но, если запустить программу просто как "a.out", то после каждой нажатой клавиши, сразу должен печататься символ через printf. На деле символ выводится, но не через printf, а как функия эха ОС (в первом случае редиректа в файл мы тоже видим что печатается). printf спит. Но стоит нажать Enter, как printf печатает сразу всю строку и снова засыпает до следующего Enter. Другими словами, на получается так: Код:
Код:
|
13.09.2016, 17:38 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Потому что оно в stdin не попадет до этого.
Вы ж можете например нажать backspace и стереть символ, ввести другой и т.п. до нажатия Enter.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.09.2016, 19:08 | #3 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Такой вариант:
Код:
Последний раз редактировалось Croessmah; 13.09.2016 в 19:26. |
14.09.2016, 12:55 | #4 | |
Пользователь
Регистрация: 13.09.2016
Сообщений: 16
|
Цитата:
Спасибо. |
|
19.09.2016, 10:39 | #5 |
Пользователь
Регистрация: 13.09.2016
Сообщений: 16
|
Вопрос по условию для if:
Код:
Код:
|
19.09.2016, 10:43 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.09.2016, 10:50 | #7 |
Пользователь
Регистрация: 13.09.2016
Сообщений: 16
|
Спасибо. Я так пробовал, но не поменял конъюнкцию на дизъюнкцию и что-то стало работать не так Надо мозг дрессировать на такие штучки
|
19.09.2016, 13:12 | #8 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
в обоих решениях классическая ошибка на проверку возвращаемого fgetc значения.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
19.09.2016, 13:21 | #9 | |
Пользователь
Регистрация: 13.09.2016
Сообщений: 16
|
Цитата:
Код:
Код:
Последний раз редактировалось Sabre; 19.09.2016 в 13:25. |
|
19.09.2016, 15:28 | #10 |
Регистрация: 19.09.2016
Сообщений: 3
|
Добрый день! Делаю самые первые шаги в программировании на С. Извините за глупый вопрос, но чем заменить функцию gets, которую не воспринимает среда программирования?
посоветуете литературу и/или другие источники, по которым можно изучить язык С? Последний раз редактировалось RaisaR; 19.09.2016 в 15:30. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
первые шаги в андройде | Виталий.Ч . | Помощь студентам | 2 | 11.03.2016 16:19 |
Первые шаги к свободе | 13th | Свободное общение | 15 | 19.01.2012 00:58 |
Первые шаги в QBasic | teeshka2 | Помощь студентам | 2 | 23.08.2010 14:47 |
первые шаги в с++ | ploik | Общие вопросы C/C++ | 2 | 16.07.2010 23:35 |
Первые шаги | trave1er | Общие вопросы C/C++ | 2 | 10.09.2008 20:32 |