책에 잇는대로 해봤다

 

stack를 2개 지정했으면 B자동차까지 들어가고 C부터 에러가 난다고 되있는데

 

출력하면 출력문의 문자가 정상적으로 출력된다

 

 

 

왜 책이랑 다르게 나올까?

 

 

char stack[2];
int top=0;

 

stack[top]='A';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;
 
stack[top]='B';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

stack[top]='C';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

stack[top]='D';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

stack[top]='E';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

stack[top]='F';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

stack[top]='G';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

stack[top]='H';
printf("%c 자동차가 터널에 들어감.\n", stack[top]);
top++;

 

top--;
printf("%c 자동차가 터널을 빠져나감\n", stack[top]);
stack[top]=' ';

 

top--;
printf("%c 자동차가 터널을 빠져나감\n", stack[top]);
stack[top]=' ';

 

top--;
printf("%c 자동차가 터널을 빠져나감\n", stack[top]);
stack[top]=' ';

 

top--;
printf("%c 자동차가 터널을 빠져나감\n", stack[top]);
stack[top]=' ';

 

 

들어간거보다 빼는게 많으면 printf문에 한글만 나오고 알파벳이 안나오는데, 들어가는건 스택 초기값 상관없이 끝없이 들어가네