| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2855 人关注过本帖
标题:编写一个统计空格、制表符和换行符个数的程序,如何修改?
只看楼主 加入收藏
码农C小查
Rank: 1
来 自:安徽安庆
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-26
结帖率:50%
收藏
 问题点数:0 回复次数:5 
编写一个统计空格、制表符和换行符个数的程序,如何修改?
#include "stdio.h"

main()
{
    int c,nb,nt,nl;
    nb=0;
    nt=0;
    nl=0;
    while((c=getchar())!=EOF)
    {
        if(c==' ')
            nb++;
        if(c=='\t')
            nt++;
        if(c=='\n')
            nl++;

    }
    printf("%d, %d, %d\n",nb,nt,nl);
}
如何让这个程序输出,按下回车键没有用,只是进入下一次输入,什么情况下让c=getchar()==EOF成立!求解
搜索更多相关主题的帖子: include 换行符 制表符 
2013-01-31 16:03
killerlzt
Rank: 2
等 级:论坛游民
帖 子:11
专家分:67
注 册:2012-4-27
收藏
得分:0 
在 UNIX中, EOF表示能从交互式 shell (终端) 送出 Ctrl+D 。在微软的 DOS 与 Windows 中能送出 Ctrl+Z。

也就是说,如果是Linux环境下,ctrl+d即可结束;
          如果是windows环境,ctrl+z即可结束
2013-01-31 17:35
码农C小查
Rank: 1
来 自:安徽安庆
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-26
收藏
得分:0 
回复 2楼 killerlzt
是不是只要在想要结束输入的时候输入ctrl+z就可以输出结果
试过了 没有用啊 只是又出现了^z
2013-01-31 20:53
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 3楼 码农C小查
这种是shell的事,C语言不管,也没资格管,不同的shell有不同的行为
比如在windows下,你得在行首输入ctrl+z,行尾还得回车一下。
2013-02-01 08:58
hf1234ty
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-4-20
收藏
得分:0 
回复 3楼 码农C小查
要结束的话只要按下CTRL+Z 回车就好了
2013-04-20 11:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
又是不看论坛帖子的

授人以渔,不授人以鱼。
2013-04-20 11:49
快速回复:编写一个统计空格、制表符和换行符个数的程序,如何修改?
数据加载中...
 
   



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

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