| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 384 人关注过本帖
标题:求高手找这段简单程序错在哪里
只看楼主 加入收藏
skyleader
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-6-9
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
求高手找这段简单程序错在哪里
要求,输入一行字符。判断出有几个字母,几个数字,几个空格,几个其他字符(谭浩强版C程序设计习题6.2)

#include <stdio.h>
int main(void)
{
char c;
int e=0,k=0,s=0,q=0;
printf("请输入一行字符\n");
while(c=getchar()!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))e++;
else if(c==' ')k++;
else if(c>='0'&&c<='9')s++;
else q++;
}

printf("英文字母有%d个,空格有%d个,数字有%d个,其他字符有%d个\n",e,k,s,q);
getch();
}
以上这段程序是照书上答案写的,但是无论输入什么字符,执行下来一律认为其他字符,而且输入\n他仍然提示有其他字符2个,没有中断。
请高手指出下,是我理解错误了,还是怎么回事,答案应该不会错吧、
2010-06-23 17:20
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:9 
while(c=getchar()!='\n')
在这里出错了,应该是:while((c=getchar())!='\n')考虑到运算的优先级!


愿用余生致力编程
2010-06-23 17:33
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:1 
楼主仔细看看书,敲错了吧!当时我也出现过这种情况!2楼正解
2010-06-23 17:40
skyleader
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-6-9
收藏
得分:0 
果然,是我看书没有看仔细,谢谢LS指点
2010-06-23 18:00
快速回复:求高手找这段简单程序错在哪里
数据加载中...
 
   



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

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