@S.Lott:
Я думал, что указатели на строки и массивы вызываются по ссылке. Я не прав?
Я согласен: не хочу отвечать на все вопросы. Если у него есть экзамен, он должен быть более осведомленным.
Я хотел бы ответить на первую строку, хотя бы просто посмотреть, правильно ли я понял.
Так что я могу ошибаться!
Вызов по значению: не изменяет значения, если переменные не являются глобальными
и в этом случае они должны быть; как в противном случае процесс может использовать i.
И массив i, и массив A являются глобальными.
То, что происходит в процедуре, меняет значения.
i начинается со значения 1, поэтому значения A [3] и A [1] меняются местами.
A [3] теперь 0, A [1] теперь 2. A [0] и A [2] без изменений.
наконец, я изменил значение на 3
Я думаю, что экзамен пропустил трюк, не спрашивая о значении 'to' после вызова proc.