count = 0;
while ( (c = getchar()) != EOF)
{
if (c != '\t' && c != '\n') continue;
if (c == '\n') break;
if (c == '\t') count++;
}
代码是什么意思,我不理解的
getchar
和EOF
是什么意思 最佳答案
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/