|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.02.2015, 13:30 | #1 |
Форумчанин
Регистрация: 30.08.2013
Сообщений: 153
|
вопросик по массивам на С
Всем привет!
ну во первых с праздником всех влюблённых в С)))) а во вторых может кто либо объяснить мне почему в функции инит первое прохождение цикла требует ввести 2 числа................? ломал голову долго( Код:
больше знаю, лучше сплю)
|
14.02.2015, 14:18 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
14.02.2015, 15:04 | #3 |
Форумчанин
Регистрация: 30.08.2013
Сообщений: 153
|
буффера ввода, не поясните что это?
больше знаю, лучше сплю)
|
14.02.2015, 15:15 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну это такой поток, который работает с клавиатурой и экраном.
STDIN - входной буффер. Некий массив байт (для консоли символов), который пользователь вводит с клавиатуры или с HID какого-нить. Винда сама его наполняет по мере получения с устройства ввода данных. STDOUT - выходной буффер, по факту то что в консоли отображается. Тоже можно назвать массивом. По-моему даже где-то в винде его размер мона настроить. scanf() считывает данные из STDIN.
I'm learning to live...
|
14.02.2015, 15:19 | #5 |
Форумчанин
Регистрация: 30.08.2013
Сообщений: 153
|
ага, ясно а почему \n все же влияет на ситуацию не пойму..............
больше знаю, лучше сплю)
|
14.02.2015, 15:25 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Потому что scanf() считывает двумя так сказать этапами. Сначала то что описано в формате - в твоем случае это число и символ ввода, а потом стандартный завершающий ввод символ. Т.е получается примерно так:
1) Ты ввел 123 и Энтер. 2) scanf согласно %d\n считал из буффера 123 и сам энтер 3) Буффер пуст, scanf на втором своем этапе не видит символа завершения ввода (поскольку он на первом этапе был выбран из буффера ввода), поэтому ждет. Эх молодежЪ молодежЪ... Совсем не желаете отладчик включить. Как же интересно мне ты будешь поступать, если вдруг на работе тебе принесут чужой проект, и дадут команду "фас" на его допиливание? Тоже будешь интернет выстукивать в поисках ответов?
I'm learning to live...
|
14.02.2015, 15:34 | #7 | |
Форумчанин
Регистрация: 30.08.2013
Сообщений: 153
|
Цитата:
П.С мне уже давали проект допиливать на C#, по нету лазил пока не понял)))
больше знаю, лучше сплю)
|
|
14.02.2015, 16:14 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Зачем же тогда пишешь то что неведомо как будет работать? Да. \n это спецификатор перевода каретки, И тебе прежде чем писать его где-попало стоит почитать в MSDN о подобных инструкциях. Цитата:
I'm learning to live...
|
||
14.02.2015, 17:19 | #9 | |
Форумчанин
Регистрация: 30.08.2013
Сообщений: 153
|
Цитата:
П.С а в мсдн правда по этой теме не смотрел ещё но гляну.
больше знаю, лучше сплю)
|
|
14.02.2015, 17:36 | #10 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Код:
Т.е. я понимаю, как можно ошибиться и что-то не понимать. Но я как-то всегда знал к какой цели надо стремиться и писал только такой код, который помогал решить проблему. А тут у вас проблемы не было вообще, пока вы не поставили \n, и как-то еще оказалось, что вы не знаете что это такое вообще. Цитата:
Последний раз редактировалось rrrFer; 14.02.2015 в 17:39. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопросик) | Sashka_BezDelnik | Компоненты Delphi | 1 | 29.12.2012 21:38 |
Вопросик! | Igormak | Компьютерное железо | 2 | 23.06.2011 21:17 |
Вопросик по массивам | krabuduk | Общие вопросы C/C++ | 6 | 23.05.2009 21:24 |