Programming
[정보처리기사] C언어 문제 풀이(2)
_syd
2023. 9. 5. 22:40
실행 순서
반복문
sum += *(p+i) 를 실행하기 위해서는
p 값을 알아야함
p = a[0] 이라고 기선언했으므로, sum += *(a[0]+i) 과 같음
→ 그렇다면 *(a[0]+i) 는?
배열 + i == &배열[i]
a[0] + i == &a[0]
*(a[0]+i) 는 *( &a[0]) 라고 할 수 있음
⇒ 포인터에서 주소값을 나타내는 것과(&) 그 주소값을 가리키는 것(*)은 서로 상쇄되어 없어짐
⇒ a[0][i] 가 된다.
⇒ a[0][0]은 2이므로 sum 은 2
다시 for 문으로 돌아와서
i = 1, a[0][1]은 3, sum 은 5
다시 for 문으로 돌아와서
i = 2, a[0][2]는 5, sum 은 10
** a[0][2] 는 a[1][0] 을 의미한다.
다시 for 문으로 돌아와서
i = 3 일 때, 조건식은 거짓이므로 반복문 종료하고 printf 실행 → 10 출력
출력
10
728x90