count = 0;
while ( (c = getchar()) != EOF)
{
    if (c != '\t' && c != '\n') continue;
    if (c == '\n') break;
    if (c == '\t') count++;
}


代码是什么意思,我不理解的getcharEOF是什么意思

最佳答案

getchar()标准函数从标准输入流中读取字符。

返回值的类型为int(比char“宽”),因为在输入读取失败(通常是由于流已关闭)时,它也可以返回EOF。代码中的令牌EOF仅仅是标头中的常量,可以这样声明:

#ifndef EOF
# define EOF (-1)
#endif


因此,它实际上只是整数文字-1的别名(但我认为您不能依赖数值,请使用符号名!)。

代码一直循环直到检测到EOF,即循环遍历其标准输入流上可读的所有字符,并计数找到\t的次数。

它可以简化很多,第一个if是没有意义的(并且continue当然是拼写错误的)。

关于c - c编程此getchar和EOF的含义是什么,我不理解此代码是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48441177/

10-11 22:05