Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2016, 17:03   #41
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Значения -858993460 - это неопределенное значение int, а 33442 - это уже определенное значение (которое ты ввел с клавиатуры).

Струлка на i++



Ну наконец то первое твое предсказание.

Скажи, что произойдет если ещё раз нажать продолжить? Проверь это на опыте. Только ты сначало предскажи, а пото делай шаг стрелкой.

Самое главное в отладке - это выполнять програму по-шагово и сравнивать, на каждом шаге, то что получилось и то что нужно было получить. Ориентируемся на значения переменных. Посто следим за ключевыми в данный момент переменными
ura_111 вне форума Ответить с цитированием
Старый 03.07.2016, 17:11   #42
Narsky
Форумчанин
 
Регистрация: 21.06.2016
Сообщений: 109
По умолчанию

Я думал, что значение i должно было увеличиться на единицу, но оно вернулось к исходному(неопределенному) значению
Narsky вне форума Ответить с цитированием
Старый 03.07.2016, 17:16   #43
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Молодец. Нашел несоответсвие.

В данном случае мы сталкнулись с Область видимости переменных (это целая тема).

Я задам тебе вопрос: какое это "i" это

int i;
char *check;

или это

for (int i = 0; i < 100; i++)


Ты видишь? В области видимости одной i находится определение другой i


Останови программу. добавь строчки

i++;
i++;
i++;

Запускай. До первого i++, потом прредскажи что будет - шаг, что будет- шаг. На каждом шаге проверяй потвердилось ли?
ura_111 вне форума Ответить с цитированием
Старый 03.07.2016, 17:22   #44
Narsky
Форумчанин
 
Регистрация: 21.06.2016
Сообщений: 109
По умолчанию

Ага, сделал, все подтвердилось
Narsky вне форума Ответить с цитированием
Старый 03.07.2016, 17:26   #45
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Расскажи мне, если можешь (если понял) про Область видимости переменных. Возьмем первое "i" где начинается и заканчивается область видимости и для второй тоже "i" где начинается, а где заканчивается.

Что такое глобальная переменная, где она инициализирутся и какая у нее поле видимости,
ura_111 вне форума Ответить с цитированием
Старый 03.07.2016, 17:28   #46
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Область видимости - это часть программы где можно обращаться к конкретной переменной.
ura_111 вне форума Ответить с цитированием
Старый 03.07.2016, 17:34   #47
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ладно задам другой вопрос. Посмотри на код (на переменные k)

Код:
int k=55;

int main() 
{
int k;
.......
for (int k = 0; k < 100; k++)
{
...........
}
................

}

// Внешняя ф-ция
int gg(int k)
{
.................
}

Укажи области видимости каждой.
ura_111 вне форума Ответить с цитированием
Старый 03.07.2016, 17:34   #48
Narsky
Форумчанин
 
Регистрация: 21.06.2016
Сообщений: 109
По умолчанию

Первое начинается с объявление переменной и заканчивается концом программы (в данном случае, программы main), для второй i область видимости начинается в цикле и заканчивается в цикле (по факту, цикл заключен в {}).
Насчет глобальных переменных не знаю, сперва думал, что они объявляются с помощью #define, но там объявляются константы
Narsky вне форума Ответить с цитированием
Старый 03.07.2016, 17:36   #49
Narsky
Форумчанин
 
Регистрация: 21.06.2016
Сообщений: 109
По умолчанию

первая k - глобальная, действует на main и gg
вторая k - внутри функции main
третья k - внутри цикла for
Narsky вне форума Ответить с цитированием
Старый 03.07.2016, 17:37   #50
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Посмотри на код.

Где глобальная?

А область видимости во внешней ф-ции какая?
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из текстового файла прочитать предложение, первую букву каждого слова сделать большой romaust C# (си шарп) 0 04.05.2016 10:51
Pascal ABC. В текстовом русскоязычном файле убрать все слова, начинающиеся на букву «а» и одновременно содержащие букву «о» MarsLoveMoon Паскаль, Turbo Pascal, PascalABC.NET 8 25.04.2014 17:03
Дан текст, состоящий из букв и пробелов, слова разделяются пробелом. Поменять первую и вторую букву каждого слова. danteone Помощь студентам 6 21.05.2012 12:31
Удаление повторных вхождений. Переместить последнюю букву в начало слова. mo_Ouse C# (си шарп) 4 21.04.2012 20:53
Поменять 1 и последнюю букву последнего слова а строке с++ Bolisoff Помощь студентам 1 10.01.2012 18:22