getchar()、getch()中的回车键

根据搜索到的资料显示windows下回车键是\r\n
那假设用getchar()获取一个a字符时,最后按下回车键,缓冲区区内不是有一个a字符,和\r \n,三个字符,最后a输出出去,缓冲区内不是还剩下\r \n,那为什么后面只再用多一个getchar(),就可以把缓冲区内的字符拿走了???

#include<stdio.h>
int main()
{
        char c,a;
        c=getchar();
        a=getchar();
        return 0;
}

而不是

#include<stdio.h>
int main()
{
        char c,a,b;
        c=getchar();
        a=getchar();
        b=getchar();
        return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^