| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:输入字符串 统计数字字母等的个数 请大家指点为什么运行结果不对
只看楼主 加入收藏
学写yyzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:44
注 册:2011-5-26
结帖率:66.67%
收藏
已结贴  问题点数:4 回复次数:7 
输入字符串 统计数字字母等的个数 请大家指点为什么运行结果不对
#include "stdafx.h"
#include"string.h"
#include"stdio.h"
int number=0,letter=0,space=0,other=0;
void  main( )
{
    char c[20];
    void ss(char a[]);
    scanf("%s",c);
    ss(c);
    printf("数字%d 字母%d 空格%d 其他%d",number,letter,space,other);
}
void ss(char a[])
{
    int i;
    for(i=0;i<strlen(a);i++)
    {
        if(a[i]>='0'&&a[i]<='9')
            number++;
        else if(a[i]==' ')
            space++;
        else if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
            letter++;
        else
            other++;
    }

}//结果不对呀,尤其是空格,输入多少都是0,哪里错了呢????
搜索更多相关主题的帖子: 字符串 统计 
2011-05-27 09:43
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
因为函数里的变量在函数退出的时候,被释放啦。把main里的printf放在ss里

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-27 10:00
学写yyzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:44
注 册:2011-5-26
收藏
得分:0 
但是要求主函数输入输出啊,定义的是全局变量啊,怎么会释放呢??
2011-05-27 10:08
c564794923
Rank: 2
等 级:论坛游民
帖 子:64
专家分:95
注 册:2011-5-25
收藏
得分:3 
把scanf改为gets
2011-05-27 10:15
c564794923
Rank: 2
等 级:论坛游民
帖 子:64
专家分:95
注 册:2011-5-25
收藏
得分:0 
ss用指针来写,数据会不了main
2011-05-27 10:18
学写yyzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:44
注 册:2011-5-26
收藏
得分:0 
没听懂啊,麻烦详细点说,本人新手哦
2011-05-27 10:21
学写yyzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:44
注 册:2011-5-26
收藏
得分:0 
4楼的正确,是不是用scanf的时候把空格当成结束符了呀??
2011-05-27 10:26
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:1 
scanf扫描以空字符为边界,如果你要把空格、制表、读入数组,那么你得用gets();

My life is brilliant
2011-05-27 11:41
快速回复:输入字符串 统计数字字母等的个数 请大家指点为什么运行结果不对
数据加载中...
 
   



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

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