Я дам вам частичный ответ
когда вы передаете по значению, вы передаете копию своей переменной, поэтому ваша переменная не может быть изменена функцией.
поэтому ответ по значению должен быть 0,10,11, которые являются начальными значениями i и массива.
когда вы перейдете по ссылке, это изменит ваши значения:
первая строка изменит i на 1;
вторая строка изменит [0] на 1;
третья строка изменит i на 2;
это означает, что он напечатает 2,1,11
Я никогда не слежу за тем, чтобы передать имя.
надеюсь, это поможет