问一道简单C语言题

来源:百度知道 编辑:UC知道 时间:2024/04/30 05:04:34
这道题是一道例题我在其中有些不明白;题是这样的:该题是统计一段文本中单词的个数,单词间用空白符分开;见程序:#include "stdio.h" main(){ char c;int cont=0,word=o;while((c=getchar()!=efo/*efo代表文本结束,键盘上对应输入^*/ if(c==``|| c==`\t`||c==`\n`)word=0;else if(word==0{word=1;count++;}printf("there are %d words in the text\n``,count);} 我的疑问在为什么在命令eles if(word==0时后面word还可以=1呢,另外==和=有什么区别啊

这道题是把word作为一个开关量,if(c==``|| c==`\t`||c==`\n`)word=0的作用是判断一个单词是否结束,如果if条件成立,那么word=0,下一次执行到else if(word==0)时,条件成立,count+1,程序向下执行,在碰到if(c==``|| c==`\t`||c==`\n`)条件成立,说明第二个单词结束,word又等于0,count又+1,如此反复计算单词个数。word的值永远在0和1之间变化,word为0表示一个单词结束,为1表示单词没有结束。
==表示判断
=表示赋值
表述不清希望你能看懂。

前面是判断..后面是赋值

==
是判断前后2个是否相等

=是将后面的赋值给前面的

那句话的意思是说, 如果 word=0的时候, 把word的值改变成"1",然后 count+1, ==和=的区别参照楼上