fgets指令被跳过.为什么?

nun*_*nos 5 c scanf fgets

每当我在fgets之前执行scanf时,fgets指令就会被跳过.我已经在C++中解决了这个问题,我记得我必须有一些可以清除stdin缓冲区或类似内容的指令.我想C有一个等价物.它是什么?

谢谢.

aib*_*aib 5

我敢打赌这是因为\n卡在输入流中.

请参阅以下问题之一:

我无法冲洗stdin.
我如何在这里了解法拉盛STDIN?
scanf()导致无限循环

或者这个答案.

另外:为什么不使用scanf().

PS fgets()是一个函数,而不是一个指令.