Форум программистов, компьютерный форум CyberForum.ru

Переменные в циклах - C++

Восстановить пароль Регистрация
 
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
09.08.2010, 13:04     Переменные в циклах #1
я понимаю как работает переменная i первом цикле, но во втором не пойму. Переменная i объявлена, но не проинициализирована. Какое значение во втором цикле?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char * left(const char * str, int n)
{
     if(n<0)
        n=0;
     
     char * p = new char[n+1];
     int i;
     
     for(i=0; i<n && str[i]; i++)
        p[i] = str[i];
     
     while(i<=n)
        p[i++] = '\0';
     
     return p;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
09.08.2010, 13:07     Переменные в циклах #2
Цитата Сообщение от grrrrr Посмотреть сообщение
Какое значение во втором цикле?
C
1
printf("%d\n", i);
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
09.08.2010, 13:20     Переменные в циклах #3
ваша программа либо обрезает строку и добавляет в конец ноль, либо остаток массива забивает нулями, ну делайте выводы - зависит от длины строки
AemClock
6 / 6 / 1
Регистрация: 04.06.2010
Сообщений: 19
09.08.2010, 13:21     Переменные в циклах #4
Инициализирована в первом цикле
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
09.08.2010, 13:21  [ТС]     Переменные в циклах #5
Евгений М., Я так делал, во вторую функцию попадает i = n, я просто думал что переменная живет только в цикле, а вне ее просто мусор, однако, при выходе из цикла нее значение i = n или str[i]
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.08.2010, 13:47     Переменные в циклах #6
переменная живёт там, где она создана
если она создана в цикле, то после цикла её не будет
а если она создана выше цикла, то после цикла она будет

Добавлено через 1 минуту
Цитата Сообщение от grrrrr
Какое значение во втором цикле?
что с ней делали выше, то и будет там
а там цикл её наращивает через i++
Yandex
Объявления
09.08.2010, 13:47     Переменные в циклах
Ответ Создать тему
Опции темы

Текущее время: 23:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru