| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 598 人关注过本帖
标题:统计单词个数问题
只看楼主 加入收藏
nowander
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2011-11-11
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
统计单词个数问题
#include <stdio.h>
#define IN 1
#define OUT 0
/* count lines, words, and characters in input */
main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' '||c == '\n'||c = '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
getch();
}
————————————————————————————————————
报错:需要逻辑0或非0在main函数中,什么意思,编译软件问题??
搜索更多相关主题的帖子: 单词 统计 include count 
2011-11-19 16:29
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:5 
错误在
if (c == ' '||c == '\n'||c = '\t')
这一行:最后一个“=”改为“==”

原因是:
逻辑或运算符(||)的优先级要高于赋值运算符(=),于是原句等价于
if ( (c == ' '||c == '\n'||c) = '\t')

(c == ' '||c == '\n'||c)的计算结果是一个值,它不能被赋值!(error C2106: '=' : left operand must be l-value
2011-11-19 18:47
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:0 
太粗心了吧!
2011-11-19 19:01
天丛云
Rank: 2
等 级:论坛游民
帖 子:48
专家分:50
注 册:2016-11-8
收藏
得分:0 
学习
2016-11-21 17:32
快速回复:统计单词个数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018443 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved