문제
다음 C 코드의 실행 결과를 쓰시오.
C#include <stdio.h> int main() { char str[6] = {'A', 'B', 'C', 'D', 'E', 'F'}; char *pos = &str[3]; printf("%c %c", *(pos - 2), *(pos + 1)); return 0; }
정답
B E
B E
해설
pos는 &str[3]을 가리키므로 str[3]인 'D'의 주소입니다. *(pos - 2)는 pos에서 2칸 앞인 str[1] = 'B'를 가리키고, *(pos + 1)은 pos에서 1칸 뒤인 str[4] = 'E'를 가리킵니다.