首先,C里面没有inword这个函数,在这里inword只是有一个变量,用于说明是否之前的输入是在一个单词内。
if (!isspace(c) && !inword) 如果c不是空格且之前的字符不是单词的一部分(即空格),那么就把n_words加一且inword置为真。如果你下一个输入的字符还是非空格,因为inword为真,所以n_words不会乱加一。
if (isspace(c) && inword) 说明如果这次输入的是空格,那么就说明一个单词的结束了,所以inword=false。
if (prev != '\n') 就是说你输入的最后一个字符不是回车,所以这最后一行也不是完整的一行了,所以 p_lines = 1