Вход на сайт
Объйсните как работает этот цикл?
373
NEW 05.05.13 20:59
В школьной задаче задан такой цикл
$i=3.5;$i=$i-0.5;
while ($i>=-1)
{
echo $i--, "
"; $i=$i+0.5;
}
На экран выдаются значения в таком порядке
3
2,5
2
1,5
1 и т.д
Для начало хотелось бы понять как иначе можно записать вот это -> $i-- равно ли это этому -> $i=$i-1 ?
В книге есть такое , что $i-=0,5 равнозначно $i=i-0,5
и $i++ равнозначно $i=$i+1
Вот я и подумала, что $i-- равнозначно этому -> $i=$i-1 , но что-то подсказывает, что неправильно , так как на экран выдается первая цифра 3
$i=3.5;$i=$i-0.5;
while ($i>=-1)
{
echo $i--, "
"; $i=$i+0.5;
}
На экран выдаются значения в таком порядке
3
2,5
2
1,5
1 и т.д
Для начало хотелось бы понять как иначе можно записать вот это -> $i-- равно ли это этому -> $i=$i-1 ?
В книге есть такое , что $i-=0,5 равнозначно $i=i-0,5
и $i++ равнозначно $i=$i+1
Вот я и подумала, что $i-- равнозначно этому -> $i=$i-1 , но что-то подсказывает, что неправильно , так как на экран выдается первая цифра 3
05.05.13 21:24
в ответ Murr 05.05.13 21:17
тогда не пойму каким образом программа выдает первую цифру 3
вначале i=3,5, затем i=3,5-0,5=3
затем цикл проверяет больше ли i чем -1 и должен вывести на экран i = 3-1=2, затем i=2+0,5=2,5 , которая опять проверяется в цикле
так почему же выдается первая цифра 3 , а не 2 ???
вначале i=3,5, затем i=3,5-0,5=3
затем цикл проверяет больше ли i чем -1 и должен вывести на экран i = 3-1=2, затем i=2+0,5=2,5 , которая опять проверяется в цикле
так почему же выдается первая цифра 3 , а не 2 ???
NEW 05.05.13 22:37
это два разный оператора : постфиксный и префиксный.
в ответ asig 05.05.13 22:07
В ответ на:
но как это понять ?
но как это понять ?
это два разный оператора : постфиксный и префиксный.
В ответ на:
Можете пример привести?
Можете пример привести?
$i = 100;
echo $i; //выдаcт 100
echo $i++; // выдаст 100, после этого увеличит $i на 1. Тоесть $i станет 101
$i = 100; //сбросим $i
echo $i; //выдаcт 100
echo $++i; //увеличит $i на 1 и выдаст 101.
NEW 06.05.13 21:30
Predecrement:
Decrement operator by one before the variable is used. -- Prefix --$a
$a = 3;
echo --$a; // 2
Postdecrement:
Decrement operand by one after the variable is used. -- Postfix $a--
$a = 3;
echo $a--; // 3