Если n == 5
, то
StorageArr[n] = arr[k];
всегда будет присваивать arr[k]
StorageArr[5]
.Это то, что говорит код, и вот что он будет делать (в рабочей программе).Я не уверен, откуда у вас мысль, что он может назначить StorageArr [0], затем StorageArr [1] и т. Д.
В вашем коде много ошибок, если упомянуть только одну, посмотрите накод выше, каково значение k
?Ни в коем случае вы не даете этому значение.Но вы используете это значение повсюду.Это означает, что вся ваша программа имеет неопределенное поведение и бессмысленно пытаться понять, что она будет делать.
Исправьте ошибки, и ваша программа будет вести себя более предсказуемо.