我给你说一下吧,这个程序是对的,作用是查一个字符串里面有几个单词,是本科教材的程序,
if(c==' ')word=0; 这里是判断是否为空格,因为任何单词都是从空格后面开始的!!
else if(word==0) 如果不是为空格同时word=0,表明进入了新一个单词中,在这里word其实是起到一个标记的作用
word=1; 在进入一个单词后,把word置1,防止对同一个单词中的字符计数!!!
num++; 对单词计数
不好意思上午我的TC有点问题.不过我帮你真正解决这个问题.
首先,你要搞清楚这个程序是计算一句话中有几个单词.
例如:A BC
1.当c='A'时程序执行从else if(word==0)显然word==0是满足的,所以执行下面的最后:
word=1
num=1
2.当程序执行到c=' '的时候 if(c==' ')word=0是成立的,所以最后:
word=0
num=1
3.当程序执行到c='B' 时,程序执行从else if(word==0)显然word==0是满足的,所以执行下面的最后:
word=1
num=2
4.当程序执行到c='C' 时,程序执行从else if(word==0)显然word==0是b不满足的,所以执行下面的最后:
word=1
num=2
所以word=0和word=1是这样一回事。