求了解c语言的童鞋帮我解释一下这一段代码的含义?

2024-11-20 13:23:10
推荐回答(2个)
回答1:

nl,nw,nc,//表示 :新行 ,新词 ,新符号 的奇数
inword; //意思表示: 当前输入的内容是在一个新的词里,
if-else分支的意思就是遇到空格等,则认为当前输入不再一个词里,则清inword。
反之,输入的不是以上分隔符号同时也不是结束符号*的话,则认为一个连续的词正在输入中
当遇到分隔符号但没有结束的时候就是一个词已经结束了,所以新词++,但新符号--。

所有输入都先认为是符号,即使是输入词也是符号组成的,当识别为词的时候,减掉最后那个分隔符号(不计入新符号)。
最后因为while()遇到*就结束,要把那个*也计算进去吧 (*的输入包括*和换行回车)

回答2:

第一:
#define YES 1
#define NO 0
这里已经定义里常量YES,NO的值。
常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变,常量默认为大小写敏感。按照惯例常量标识符总是大写的。

所以inword=NO就是inword=0的意思
第二:inword变量是个全局标志位,程序已经赋予inword的初始值为NO(第8行)。
第三:我也没看懂……