Author Topic: Баг массива во вложенном цикле?  (Read 1890 times)

0 Members and 1 Guest are viewing this topic.

Kiss Ме в|слепую

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Баг массива во вложенном цикле?
« on: October 31, 2013, 08:08:27 AM »
Кто объяснит почему начиная со второго прохода внутреннего цикла в лог попадает 3 элемент массива вместо первого?

Code: (clickermann) [Select]
LOGCLEAR

$x[0]=1
$x[1]=2
$x[2]=3

for ($i, $i<5)
   LOGWRITE ("--------------i=", $i)
   for ($j, $j<3)
      LOGWRITE ("-----j=", $j)
      $x =$x[$j-1]
      LOGWRITE ("x=", $x)
   end_cyc
end_cyc

halt
« Last Edit: October 31, 2013, 08:10:26 AM by sbsp11 »

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Баг массива во вложенном цикле?
« Reply #1 on: October 31, 2013, 09:15:36 AM »
ты сам себя обманул лол

элемент $x в данном контексте тоже самое что элемент $x[0], ты видимо это понимаешь
в цикле ты присваиваешь нулевому элементу сначала значение нулевого элемента потом первого потом второго.
после первого прохода у тебя в нулевом элементе осталется тройка и на второй прогоне когда ты нулевому элементу снова присваиваешь нулевой элемент ты присваиваешь тройку. тройка в нулевом элементе осталась после первого прогона.

то есть ты делаешь $x = $x = 3 и удивляешься почему $x = 3

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Баг массива во вложенном цикле?
« Reply #2 on: October 31, 2013, 09:17:48 AM »
ты сам себя обманул лол

элемент $x в данном контексте тоже самое что элемент $x[0], ты видимо это понимаешь
в цикле ты присваиваешь нулевому элементу сначала значение нулевого элемента потом первого потом второго.
после первого прохода у тебя в нулевом элементе осталется тройка и на второй прогоне когда ты нулевому элементу (по умолчанию) снова присваиваешь нулевой элемент (по вычисляемому индексу) ты присваиваешь тройку. тройка в нулевом элементе осталась после первого прогона.

то есть ты делаешь $x = $x = 3 и удивляешься почему $x = 3

Kiss Ме в|слепую

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Баг массива во вложенном цикле?
« Reply #3 on: October 31, 2013, 09:24:33 AM »
не знал что x это тоже самое что x[0]  :)