c编程这个getchar和EOF的含义是什么,这个代码我不明白

时间:2018-01-25 10:56:14

标签: c getchar

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

代码均值是什么,getcharEOF意味着我不明白

1 个答案:

答案 0 :(得分:1)

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

返回值的类型为int(比char“更宽”),因为当输入读取失败时,它也可以返回EOF,通常是因为流已关闭。代码中的标记EOF只是标题中的常量,可以这样声明:

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

所以它实际上只是整数文字-1的别名(但我不认为你可以依赖数值,使用符号名称!)。

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

它可以简化很多,第一个if毫无意义(continue当然是拼错的。)