문제
다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
① E ② V ③ R ④ O
정답
3번
해설
정답: 3. str1="KOREA"에서 str1[1]=p2[2]=str2[2]='V'로 바뀌어 "KVREA"가 된다. str2[3]=p1[4]=str1[4]='A'로 바뀌어 str2="LOVA"가 된다. strcat(str1, str2)로 str1은 "KVREALOVA"가 되고, *(p1+2)는 str1[2]='R'이므로 R이 출력된다.
오답 풀이
- 1번: E는 str1[2]가 아니다.
- 2번: V는 str1[1]의 값이다.
- 3번: *(p1+2) = str1[2] = 'R'이므로 정답이다.
- 4번: O는 str1[2]가 아니다.
보충 개념 p1=str1이므로 *(p1+2)는 str1[2]와 같다. 배열 첨자 변경 후 strcat을 해도 str1[2]는 'R'로 유지된다.