标题:为什么只输入字母或数字时会少一个,字母和数字都有时是正常的
只看楼主
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
结帖率:40%
已结贴  问题点数:10 回复次数:5 
为什么只输入字母或数字时会少一个,字母和数字都有时是正常的
#include<stdio.h>
int main()
{
    char expert;
    int letter=0,blank=0,digit=0,other=0;
    printf("expert:");
    scanf("%c",&expert);
    while((expert=getchar())!='\n'){
    if(expert>='a'&&expert<='z'||'A'<=expert&&expert<='Z1'){
        letter++;
    }
    else if('0'<=expert&&expert<='9'){
        digit++;
    }
    else if(expert==' '){
        blank++;
    }
    else
    other++;}
    printf("letter=%d\n",letter);
    printf("balnk=%d\n",blank);
    printf("digit=%d\n",digit);
    printf("other=%d\n",other);
    return 0;
}
搜索更多相关主题的帖子: 字母 数字 letter digit printf 
2017-10-30 10:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:4 
试试
//scanf("%c",&expert);
2017-10-30 10:50
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
得分:0 
回复 2楼 吹水佬
还是不行
2017-10-30 10:52
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:4 
scanf("%c",&expert);
这句是没有经过判断的。删除就行了
2017-10-30 10:55
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
得分:0 
回复 4楼 pydlq
为什么会出现这种效果??
2017-10-30 11:00
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:4 
回复 5楼 a250026320
scanf在输入时没有经过判断是字符数字还是空格
2017-10-30 14:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481925-1-1.html




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

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