|
29.06.2011, 18:36
|
Новичок на форуме
|
|
Регистрация: 29.06.2011
Сообщений: 3
|
|
Поведение счётчика цикла
Почему:
for(i = 0; i < 5; i++){}
document.write(i) // i == 5 ?
По логике i == 5 при i <= 5 (как в том же Си)
Последний раз редактировалось Gofop, 29.06.2011 в 18:43.
|
|
29.06.2011, 19:05
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Gofop
|
как в том же Си
|
Щито?
Код:
|
#include <stdio.h>
int main(){
int i;
for(i = 0; i < 5; ++i);
printf("%d", i); // 5
return 0;
} |
Какая-то неправильная логика у Вас. Цикл прекращается, как только прекращает выполняться условие, а выполняться оно прекращает как раз в случае i == 5.
|
|
29.06.2011, 19:14
|
Новичок на форуме
|
|
Регистрация: 29.06.2011
Сообщений: 3
|
|
C++
Код:
|
#include <iostream>
int main
{
for(int i = 0; i < 5; i++)
std::cout << i << std::endl;
return 0;
} |
Код:
|
[wz2@localhost ~]$ '/home/wz2/a.out'
0
1
2
3
4 |
i == 4
|
|
29.06.2011, 19:29
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
<script>
for(i = 0; i < 5; i++)
document.write(i + "<br>");
</script>
i == 4???
|
|
29.06.2011, 19:31
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
Gofop,
В вашем первом сообщение i == 5 потому что вы смотрите на счетчик уже после цикла. Если же смотреть на i как в сообщение Sweet'a то, все верно (0,1,2,3,4) , потом i становится равным 5 и условие не выполняется, и все, он так и остается равным 5.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
|
|
29.06.2011, 19:33
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
walik, я написал относительно этого.
|
|
29.06.2011, 19:37
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Gofop, ололо
Код:
|
#include <iostream>
int main()
{
int i;
for(i = 0; i < 5; i++)
std::cout << i << std::endl;
std::cout << "Final: " << i << std::endl;
return 0;
} |
Цитата:
|
barmaley-exe@laptop:~/cpp$ ./a.out
0
1
2
3
4
Final: 5
|
Последний раз редактировалось B@rmaley.e><e, 29.06.2011 в 19:45.
|
|
29.06.2011, 22:09
|
Новичок на форуме
|
|
Регистрация: 29.06.2011
Сообщений: 3
|
|
Сообщение от walik
|
Gofop,
В вашем первом сообщение i == 5 потому что вы смотрите на счетчик уже после цикла. Если же смотреть на i как в сообщение Sweet'a то, все верно (0,1,2,3,4) , потом i становится равным 5 и условие не выполняется, и все, он так и остается равным 5.
|
Точно, спасибо)
for(i = 0; i < 5; i++){document.write(i)}
|
|
|
|