| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1101 人关注过本帖
标题:这是C语言中100例中第17例
只看楼主 加入收藏
tangchao
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-21
收藏
 问题点数:0 回复次数:12 
这是C语言中100例中第17例
While((c=getchar()!='\n'))  为什么要等于'\n'不等于'\0' 呢???


题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.
      
2.程序源代码:
#include "stdio.h"
main()
{char c;
 int letters=0,space=0,digit=0,others=0;
 printf("please input some characters\n");
 while((c=getchar())!='\n')
 {
 if(c>='a'&&c<='z'||c>='A'&&c<='Z')
  letters++;
 else if(c==' ')
  space++;
   else if(c>='0'&&c<='9')
       digit++;
     else
       others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}
搜索更多相关主题的帖子: C语言 
2008-11-21 09:17
cyz7929
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2008-10-26
收藏
得分:0 
当遇到换行符时就结束循环
2008-11-21 09:22
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1697
专家分:4305
注 册:2007-12-27
收藏
得分:0 
因为你从键盘输入的时候最后敲的是回车而不是什么'\0'

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-21 11:03
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
LS:如何输入'\0'?
2008-11-21 13:47
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
'\0'是字符串最后一个字符,输入的话....好像不能输入'\0'

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-21 13:52
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
我会输入'\001',会输入'\002',一直到'\100',就是不会输入'\0'……

Linux下可以直接^V+000,Windows下不知道该怎么办了……

一个办法是在Vim下输入,然后在Windos下用重定向操作符……
2008-11-21 13:54
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
楼上,教教我怎么输入'\001',我是windows啊..

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-21 17:20
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
收藏
得分:0 
在控制台下输入\001是很简单的:直接按Ctrl+A
2008-11-22 03:54
tangchao
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-21
收藏
得分:0 
  谢谢大家 你们刚才说的我懂啦

Jack
2008-11-23 12:01
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1697
专家分:4305
注 册:2007-12-27
收藏
得分:0 
正是因为正常情况下敲不出来,所以C才会用它做结束符
这其实是辩证法,呵呵

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-23 12:08
快速回复:这是C语言中100例中第17例
数据加载中...
 
   



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

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