首 页 行业热点 新车 试驾评测 养车用车 车型库

初学c语言编程问题?

发布网友

我来回答

3个回答

热心网友

考虑什么时候word==0,只有2种情况
一种是程序刚开始word=0,
另一种是if(c==' '),也就是遇到空格的时候
所以当你遇到不是空格,并且word==0时,是不是说明,遇到一个新的单词了,那么word=1说明进入到一个单词,计数,num++。
举个例子,比如输入是hello my friend
当遇到第一个字符,也就是h的时候,word肯定等于0,因为程序一开始,我们就是让word=0,此时h不是空格,那么进入else if(word==0) word=1,num++
接下来遇到e这个字符,此时,e不是空格,那么单词数要不要加呢?不用,因为此时word=1,我们无法进入else if(word==0),word=1,num++ 这里面,以此类推,直到遇到第一个空格,也就是m前面那个空格,于是if(c==' ') word=0;
再接下来,遇到m了,m不是空格,并且word==0,那么进入else if(word==0) word=1,num++,此时num=2了,正好符合事实,的确我们已经遇到第二个单词了

综上所述,这里的else if(word==0) 的意思就是从一个空格进入一个新的单词,进入了新的单词,当然要num++

热心网友

是为了防止行尾出现空格被记录在内,所以哪怕是sting[0]出现空格,只有在sting[1]有字符的时候才会被计算在内.不过因为初始值的原因,最后的结果会比实际的空格数多1

热心网友

纯属个人理解,可能有误。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com