public class qwe {


public static void main(String[] args) {

call1(1);

System.out.println("");

call2(new int[]{1});

}

static void call1(int a) {

if(a>3)

return;

System.out.print(a + " ");

a++;

for(int i = 0 ; i < 2; i++)

call1(a);

}

static void call2(int[] a) {

if(a[0]>3)

return;

System.out.print(a[0] + " ");

a[0]++;

for(int i = 0 ; i < 2; i++)

call2(a);

}

}


이렇게 하면 콘솔에

1 2 3 3 2 3 3 
1 2 3 

이렇게 다른 값이 출력됨. 내가 생각한 값은 첫번째 껀데 왜 둘이 다른거야?