| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:初学者的小问题
只看楼主 加入收藏
joujour
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-11-14
收藏
 问题点数:0 回复次数:2 
初学者的小问题
小弟是某三流大学计算机系的学生 正在研读著名的c语言教程<<The C Programming Language>>
按照书中的方式实现一个 单词计数的小程序 编译环境 是 dev-c++ 4.9.9.0]  程序编译无错误 但是程序的输入过程无法结束 如果将 EOF 改为 任意字符则没有问题
通过验证 EOF的 整形值为-1 也就是说无法从键盘输入 那程序是 如何结束的? 是否和编译环境有关?
程序如下
#include "stdio.h"
#include "stdlib.h"

#define IN  1
#define OUT 0

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);
    system("pause");
}
搜索更多相关主题的帖子: c语言 计算机 include 
2008-11-14 20:30
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:0 
EOF表示文件结束
要在windows控制台模拟之
需敲Ctrl+Z再回车

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-14 21:20
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
看这个程序像是TC下的……
2008-11-14 21:22
快速回复:初学者的小问题
数据加载中...
 
   



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

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