我怎么去Flushing STDIN?

我有一个函数(在C中)从用户获取输入,(使用scanf)将它存储在unsigned int中,并将输入返回给处理它的其他函数:

unsigned int input(void) { unsigned int uin; scanf("%u", &uin); return val; } 

我想知道,因为我应该刷新标准输入,我想使用getc,vis-a-vis使用while循环:

 while (getc != '\n') { ... } 

但是,我不确定如何:

A)在getc中执行操作,就像我应该如何处理检查并将值连接到每个获得的字符,或者,无论我是否要getc,然后从那里连接,完全删除scanf。

B)这是否是最合适的方式。

有些善良的人可以给我一些提示和指示:)

谢谢。

我将%*[^\n]到scanf格式字符串的末尾。 *表示它应该读取但忽略匹配的输入, [^\n]表示除换行符之外的任何内容,就像在正则表达式中一样。