私の知能知識不足で申し訳ありません。質問させていただきます。
下のように入力した文字(Y/N)によって分岐して、 Yなら1を返して終了、Nなら0を返してYが入力されるまで入力を繰り返す、 それ以外は2を返してYが入力されるまで繰り返すというものですが、
Yを入力したときは正常に動作するのですが、 Nやそれ以外のときはgetcharの部分がスキップされてしまうのか正常に表示されません。
continueの使い方が間違っているのかもしれません。 どなたかアドバイスいただければ幸いです。

#include<stdio.h>
int check(void);
int main(void)
{
int end;
while(1){
end = check();
printf("%d\n", end);
if(end == 1)
break;
else
continue;
}
printf("終了\n");
return(0);
}
int check(void)
{
char yn;
yn = getchar();
if(yn == 'Y')
return(1);
else if(yn == 'N')
return(0);
else
return(2);
}