希望细讲一下标记的工作原理和意图是什么

img


这是在书上所学习的一个代码的一部分,这里用到了那个 bool inword=false 以及 !inword 还有 inword=false ,书上讲的这是标记可以用于检查变量,但我没看懂这个标记对程序的影响是什么,我总感觉去掉并不耽误程序运行。希望能细讲一下这个标记的意义,最好能带上个例子,谢谢!

这就是个开关量,标志当前是不是输入单词。判断方法就是当前输入的字符是不是空格。如果是空格,并且标志是输入单词标志,那么就改成不是输入单词标志;反之,如果输入不是空格,但标志不是输入单词标志,则改为输入单词标志
它最主要的作用是:只有在输入字符,并且标志不是输入单词状态时,才需要将单词数量加1。也就是只有状态发生改变,且改变为输入单词标志时,才需要增加一个单词计数,其它情况都不增加计数
这段代码标志不能去掉,去掉后你无法判断出字符切换状态
如果想不用标志,那么你就需要增加一个变量,记录相邻两次输入的字符,当前一个字符为空格,后一个字符不是空格的时候,单词的数量加1,也能解决问题

img


这里不是判断了吗。
它不是在处理空格吗