| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 547 人关注过本帖
标题:问个字符统计的问题,请大家帮忙
取消只看楼主 加入收藏
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:3 
问个字符统计的问题,请大家帮忙
#include "stdio.h"
main()
{
 int c=0;
 printf("Please input sentence:\n");
 while(getchar()!='\n')
 {c++;
  if (getchar()=='')
      c--;
  }
 printf("The sum of sentence's characters is:%d",c);
 getch();
}
以上是我根据树上程序改编的,目的是输入一窜字符统计字数,但是空格不统计在内,但是最终跑出来的数字不对,且回车要两次才能显示结果,各位可以告诉我为什么吗?
补充一下运行画面:
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

敲w e e时返回3正确,但是敲wee时就返回2错了。。。

[ 本帖最后由 account 于 2010-4-14 12:43 编辑 ]
搜索更多相关主题的帖子: 字符 统计 
2010-04-14 11:40
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:0 
以下是引用cnfarer在2010-4-14 12:01:47的发言:

#include "stdio.h"
main()
{
int c=0;
char ch;
printf("Please input sentence:\n");
while((ch=getchar())!='\n')
{c++;
  if (ch==' ')
      c--;
  }
printf("The sum of sentence's characters is:%d",c);
getch();
}
谢谢版主大人!!!
但是两个疑问能否解释下?
1.为什么原错误代码会导致敲两次回车才会出结果
2.原先的代码逻辑错误在什么地方啊?
能否告知清楚啊?谢谢了
2010-04-14 12:10
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:0 
以下是引用cnfarer在2010-4-14 12:22:18的发言:

因为有两个getchar()
版主啊,恕我愚笨,刚学没几天,如果问的问题非常小白还请原谅。
你的代码,我能明白,但我的错误的代码里面的逻辑似乎和两个getchar()无关啊,敲回车就应该结束这个循环了吧。
版主你一定是高手,我知道高手在和新手讲这个时肯定很痛苦:)多多原谅吧
2010-04-14 12:33
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:0 
说实话,楼上很多高手吧,我虽然明白了错误在哪里,但始终不是太清楚具体哪一步执行会成这样的错误结果。。。痛苦。。。
2010-04-14 13:31
快速回复:问个字符统计的问题,请大家帮忙
数据加载中...
 
   



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

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