有关scanf、gets读取缓存区数据的问题

首先,输入数据后按下回车是会产生一个换行符和一个回车符还是只产生一个回车符?
然后,scanf读取数据后会在缓存区留下一个换行符还是回车符还是两者都有?scanf是通过什么符号结束输入的?
最后,gets是通过什么符号结束输入的?
求解答~

是多个\r吧,\n肯定有的

俺的理解:换行符和回车符难道不是同一个东西嘛?
scanf()以空格、回车、制表符作为字符串的终止符,不读走空格、制表符、回车符,仍留在缓冲区中
gets()以回车符作为字符串的终止符,同时将回车符从缓冲区读走,但不作为字符串的一部分