using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Languages
{
    class Program
    {

        void Fixer(out int x, int index)
        {
            x = 1;
            index = 1;
        }
        static void Main(string[] args)
        {
            Program f = new Program();
            int index;
            int[] list = new int[2];
            list[0] = 100;
            list[1] = 200;
            index = 0;
            Console.WriteLine("초기 배열값");
            Console.WriteLine("{0}, {1}", list[0], list[1]);
            f.Fixer(out list[index], index);
            Console.WriteLine("부프로그램 종료시 결정된 주소에 따른 인덱스값 변화");
            Console.WriteLine("{0}, {1}", list[0], list[1]);
        }
    }
}


 

문제가 출력모드의 매개변수의 주소가 언제 계산되는지 결정하는 C#프로그램이나 Ada프로그램을 작성하라(호출시 또는 부 프로그램 종료시).


 

이렇게 돌리면 결과값은 list[0]에 있는값이 1로 바뀌거든. 그러니까 배열 주소가 메소드 진입시 결정되서 반환된거라던데


 

요게 메소드 내부에서 인덱스 값이 바뀌면 index값이 0이 아닌 1로 배정되고나서 list[1]의 값이 바뀌게 할수 있냐 물어보는거 같은데



 

이게 어떤 개념으로 하는건지, 혹 안된다면 왜 안되는건지 풀이해줄수 있는 횽 있어?