为什么getchar()不让小弟我输入字符,而小弟我调试的时候,看到select自动为‘10’了,求大神解答?

为什么getchar()不让我输入字符,而我调试的时候,看到select自动为‘10’了,求大神解答??

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 5
void Choice_Sort(int *p,int len);
void Insert_Sort(int *p,int len);
void Select_Sort(int *p,int len);
int main()
{
    int i=0,a[MAXSIZE+1];
    printf("请输入您要排序的数字:");
    for(i=1;i<=MAXSIZE;i++)
        scanf("%d",&a[i]);
        Choice_Sort(a,MAXSIZE);
        for(i=1;i<=MAXSIZE;i++)
        printf("%2d",a[i]);
    return 0;
}
//选择哪一种排序方式
void Choice_Sort(int *p,int len)
{
    char select;
    printf("########1、直接插入排序#########\n");
    printf("########2、冒泡排序#############\n");
    printf("########3、直接选择排序#########\n");
    printf("请选择您所需要的排序方式:(按Q(q)退出)");
    select=getchar();
    printf("%c",select);
    while((select!='Q')&& (select!='q'))
    {
        switch(select)
        {
            case '1':Insert_Sort(p,len);
                break;
            case '2':Bubble_Sort(p,len);
                break;
            case '3':Select_Sort(p,len);
                break;
            default:
                printf("您选择了错误的选项!抱歉!");
            break;
        }
        select=getchar();
    }

}
//直接插入排序
void Insert_Sort(int *p,int len)
{
    int i,j;
    for(i=2;i<=len;i++)
     {
          p[0]=p[i];//p[0]作为监视哨,存储待排序的数字
          j=i-1;
         while(p[0]<p[j]&&j>0)
         {
            p[j+1]=p[j];
            j--;
         }
         p[j+1]=p[0];
     }
}
//冒泡排序
void Bubble_Sort(int *p,int len)
{
    int i,temp,j,flag;
        for(i=1;i<len;i++)
        {
            flag=1;//交换标志,flag=1表示未交换
            for(j=i;j<len-i;j++)
                if(p[j]>p[j+1])
                {
                    temp=p[j+1];
                    p[j+1]=p[j];
                    p[j]=temp;
                    flag=0;
                }
            if(flag==0) break;
        }
}
//直接选择排序
void Select_Sort(int *p,int len)
{
    int i,j,k;
    for(i=1;i<len;i++)
    {
        k=i;
        for(j=i+1;j<=len;j++)
            if(p[j]<p[k])
                k=j;
            if(k!=j)
            {
                p[0]=p[i];
                p[i]=p[k];
                p[k]=p[0];