10번까지 다 이해가 되었습니다.
근데 왜 답이 !moT ma I인지 모르겠어요.
왜 저렇게 나온 거죠???
안녕하세요 길벗수험서 운영팀입니다.
이런 경우 회원님이 생각하신 답이 무엇인지 말씀해주셔야 조금 더 자세한 안내가 가능합니다.
배열이 혼동되신 경우는
for(k=0;k<n;k++) 내부에 'n--'를 통해 회전 때 마다 최대값이 줄어든다는 점을 유념에 두세요.
초기에는 k가 0부터 8보다 작은 동안 반복되지만 k가 증가할 때마다 최대값이 줄어들어
k가 0, <8
k가 1, <7
k가 2, <6
k가 3, <5
k가 4, <4 <- 요지점에서 조건식이 부정이되면서 빠져나가게 됩니다. 즉, 4회 수행되게 되죠.
포인터가 혼동되신 경우는 그저 단순히 배열이라고 생각하고 이해하시면 됩니다.
배열명은 해당 배열의 첫번째 위치를 가리키는 포인터 역할을 수행합니다.
배열 st[9]의 첫번째 위치를 가리키는 포인터 == st == &st[0]
즉, st+1을 하면 st[0]의 다음 값인 st[1]의 주소를 가리키게 되고, 이것은 &st[1]을 의미하게 되죠. *를 붙여서 값을 가리키게 된다면 st[1]이 됩니다.
*(st+1) = st[1]
행복한 하루되세요 :)
-
관리자2019-09-04 10:44:30
안녕하세요 길벗수험서 운영팀입니다.
이런 경우 회원님이 생각하신 답이 무엇인지 말씀해주셔야 조금 더 자세한 안내가 가능합니다.
배열이 혼동되신 경우는
for(k=0;k<n;k++) 내부에 'n--'를 통해 회전 때 마다 최대값이 줄어든다는 점을 유념에 두세요.
초기에는 k가 0부터 8보다 작은 동안 반복되지만 k가 증가할 때마다 최대값이 줄어들어
k가 0, <8
k가 1, <7
k가 2, <6
k가 3, <5
k가 4, <4 <- 요지점에서 조건식이 부정이되면서 빠져나가게 됩니다. 즉, 4회 수행되게 되죠.
포인터가 혼동되신 경우는 그저 단순히 배열이라고 생각하고 이해하시면 됩니다.
배열명은 해당 배열의 첫번째 위치를 가리키는 포인터 역할을 수행합니다.
배열 st[9]의 첫번째 위치를 가리키는 포인터 == st == &st[0]
즉, st+1을 하면 st[0]의 다음 값인 st[1]의 주소를 가리키게 되고, 이것은 &st[1]을 의미하게 되죠. *를 붙여서 값을 가리키게 된다면 st[1]이 됩니다.
*(st+1) = st[1]
행복한 하루되세요 :)