문제
다음 C 프로그램의 실행 결과는?
C#include <stdio.h> typedef struct { int data; char flag; } Node; int main() { Node arr[2] = {{10, 'A'}, {20, 'B'}}; Node *p = arr + 1; printf("%d %c", (p-1)->data, p->flag); return 0; }
① 10 B ② 20 A ③ 10 A ④ 20 B
정답
1번
해설
p는 두 번째 구조체를 가리키므로 (p-1)->data는 첫 번째 구조체의 10, p->flag는 두 번째 구조체의 'B'이다.