C언어 이제 막 공부 시작했는데,
winapi 사이트 참고하면서 공부하고 있거든요,, 근데 거기 c문법 강좌중에서 화살표키를 입력받아 #이동시키는 예제에서
처음 for문 세번째줄에서 getch()를 통해 화살표를 입력받으면, 화살표같은 확장키는 0xE0 나 0같은 리턴값을 돌려주기때문에
if문에서 0이나 0xE0일 경우에 다시한번 getch()를 써 주는걸로 되어있더라구요. 저는 getch가 두번이나 입력되어있길래
이동키를 두번 연속 입력해야 #이 움직일것이라고 생각했습니다. 그런데 막상 실행해보니 한번만 입력해도 잘 움직여지더군요.
그래서 혹시나 하고 if문 안에 있는 getch()를 지워보았습니다. 그랬더니 이번에는 움직이지가 않았습니다.
무슨 이유인지 설명 부탁드립니다ㅜㅜ
아래는 제가 예제 보고 만든 코드입니다.

#include <Turboc.h>

int main(void)
{
    int x,y;
    int ch;
    
    x=40;
    y=10;
    clrscr();
    
    for(;;)
    {
           gotoxy(x,y);
           putch('#');
           ch=getch();
           if(ch == 0xE0 || ch == 0)
           {
                 ch=getch();
                 switch (ch)
                 {
                 case 75:
                        x=x-1;
                        break;
                 case 80:
                        y=y+1;
                        break;
                 case 72:
                        y=y-1;
                        break;
                 case 77:
                        x=x+1;
                        break;
                 default:
                         putch('\a');
                         break;
                 }
           }
           else
           {
               switch (ch)
               {
                      case ' ':
                           clrscr();
                           break;
                      case 'q':
                      case 'Q':
                           exit(0);
               }
           }       
    }
}