标题:菜鸟一枚,求大神解答。
只看楼主
icemeltsun
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-11-28
结帖率:0
已结贴  问题点数:20 回复次数:2 
菜鸟一枚,求大神解答。
在学习The C programming language 中有一个例题1.5.4:
#include <stdio.h>
#define IN 1 /* inside a word */
#define OUT 0 /* outside a word */
/* 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);
}
是否可以换成:
#include <stdio.h>
 int main()
{
int c, nl, nw, nc, state;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
++nw;
}
printf("%d %d %d\n", nl, nw, nc);
}。书中那样做是什么道理~~~~~。
另这个怎么改成For语句:#include <stdio.h>
/* count lines in input */
main()
{
int c, nl;
nl = 0;
while ((c = getchar()) != EOF)
if (c == '\n')
++nl;
printf("%d\n", nl);
}
搜索更多相关主题的帖子: include outside 电影票 count 天空 
2014-11-28 16:53
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:10 
是作业?
2014-11-28 20:58
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:10 
while ((c = getchar()) != EOF)
if (c == '\n')
++nl;
需要大括号

一片落叶掉进了回忆的流年。
2014-11-28 21:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439305-1-1.html




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

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