+ -
当前位置:首页 → 问答吧 → 请问这条语句器什么作用

请问这条语句器什么作用

时间:2011-12-06

来源:互联网

C/C++ code

char get_first(void)
{
    int ch;

    ch = getchar();
    [color=#FF0000]while (getchar() != '\n')
        continue;[/color]   
    return ch;
}

书上说是剔除不符合的输入。

作者: ad456aaa   发布时间: 2011-12-06

while (getchar() != '\n')
continue;
按书上说是剔除不符合的输入 只不过不知道他到底是怎样剔除的。有帮忙解释下吗,谢谢。

作者: ad456aaa   发布时间: 2011-12-06

首先前面那个读了一个字符,而且这个字符是一行中的第一个字符,那个循环是把当前行后面的所有字符踢掉,直到遇到换行符,进入下一行,然后再读行的第一个字符。不符合的输入就是除了每行中的第一个字符的其他输入

作者: WalkingInTheWind   发布时间: 2011-12-06

不是很明白。这个函数只能获取到输入的第一个字符。假如第一次输入回车,那ch获取的也就是回车字符。啥用都没。。

作者: chenph_210   发布时间: 2011-12-06

while (getchar() != '\n')
continue;
逻辑上等价于
int c;
while (1) {
 c=getchar();
 if (c=='\n') break;
}
自己单步跟踪理解其作用吧。

作者: zhao4zhong1   发布时间: 2011-12-06

这个就是说你输 的第一个字符有用,其他字符都踢掉了,输入回车就退出该函数,返回第一个字符。

作者: zhaghi   发布时间: 2011-12-06

一个一个字符输入直至回车退出函数。

作者: wizard_tiger   发布时间: 2011-12-06