0

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

unsigned
int input(void)
{
    unsigned int uin;

    scanf("%u", &uin);
    return val;
}

我想知道,因为我应该刷新标准输入,所以我想使用 getc 的 while 循环,相对于:

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

但是,我不确定如何:

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

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

有好心人能给我一些提示和指示吗:)

谢谢。

4

1 回答 1

4

我会添加%*[^\n]到 scanf 格式字符串的末尾。*意味着它应该读取但忽略匹配的输入,并且意味着[^\n]除了换行符之外的任何东西,就像在正则表达式中一样。

于 2009-10-21T00:40:05.847 回答