scanfを使って数字を入力するとストリームに改行が残ってしまって次のfgetsで改行を食べてしまうのですが一般的に数字を入力する時はどのような関数を使っているんでしょうか?