我应该设计一个计算单词数的程序,所以这是我代码的一部分
while ((c=getc(file)) != EOF)
{ if ((isspace(c) || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v')) { ++word; } }
我的代码的逻辑应该首先查看第一个字符,如果它是非空格,那么它应该查看下面的字符,如果它是空格,那么它应该计算一个单词
但是,我知道如何替换当前字符(在我的代码中),但我不知道如何替换以下字符?
基本上,我想以这种逻辑形式编写代码(c+是c后面的字符)
while ((c=getc(file)) != EOF)
{ if ( c is non-space)
{ if (c+ is space)
{ word++ }
}
}
最佳答案
prevC = ' ';
while ((c=getc(file)) != EOF)
{
if ((prevC != ' ') &&
(isspace(c) || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v'))
{
++word;
}
prevC = c;
}
您需要维护先前读取的字符并在下一次迭代中进行比较
关于c - 在 while 循环中替换字符流中的下一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49375071/