문제
다음 C 프로그램의 실행 결과는?
#include <stdio.h> int main() { char str[] = "Hello"; char *ptr = str + 1; printf("%c ", *ptr); printf("%c", *(ptr + 2)); return 0; }
① H l ② e l ③ e o ④ l o
정답
2번
해설
str은 "Hello" 문자열 배열이고, ptr = str + 1은 두 번째 문자 'e'를 가리킨다. *ptr은 'e'를 출력하고, *(ptr + 2)는 ptr에서 2칸 뒤인 'l'을 출력한다. 포인터 산술 연산과 문자열 인덱싱의 기본 개념을 이해해야 한다.