while문에서 scanf가 제대로 작동하지 않습니다. 코드에 문제가 있는 건가요?
조회수 548회
int main()
{
char a1;
int a2;
int seats[10] = { 0 };
while (1)
{
printf("좌석을 예약하시겠습니까?(y또는 n)");
scanf("%c", &a1);
if (a1 == 'n')
break;
printf("--------------------\n");
printf(" 1 2 3 4 5 6 7 8 9 10");
printf("--------------------\n");
for (int i = 0; i < 10; i++)
printf(" %d", seats[i]);
printf("\n");
printf("몇 번째 좌석을 예약하시겠습니까?");
scanf("%d", &a2);
if (seats[a2 - 1] == 0)
{
seats[a2 - 1] = 1;
printf("예약되었습니다.\n");
}
else
printf("이미 예약된 좌석입니다.\n");
}
return 0;
}
극장의 좌석을 예약하는 코드입니다. 이 코드를 실행했을 때 처음에 while문 반복 1회차에서는 정상적으로 작동이 됩니다. 하지만 반복 2회차부터 scanf("%c", &a1); 이 코드가 무시된 채로 반복이 됩니다. 어떤 부분이 잘못되었나요?
댓글 입력