| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 713 人关注过本帖
标题:师父 好久不见,来看看哪里错了
只看楼主 加入收藏
zh77
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:84
专家分:22
注 册:2011-8-5
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:11 
师父 好久不见,来看看哪里错了
/*2011年8月29日14:05:55
输入字符串,统计其中大写字母\小写字母\空格\数字\以及其他字符各有多少
*/

# include <stdio.h>
# include <stdlib.h>
# include <ctype.h>

int main(void)
{
    void f(char * p);
    char * p;
   
    p = (char *)malloc(1000 * sizeof(char));

    scanf("%s", p);

    f(p);

    return 0;
}

void f(char * p)
{
    int i = 0, j = 0, k = 0, m = 0, n = 0, a = 0;

    for (; *p != '\0'; p++)
    {
        if (isupper(*p) > 0)
            i++;
        else if(islower(*p) > 0)
            j++;
        else if(*p = ' ')
            k++;
        else if(isdigit(*p) > 0)
            m++;
        else
            n++;
        a++;
    }
    printf("%d\n", a);

    printf("大写字母: %d\n", i);
    printf("小写字母: %d\n", j);
    printf("空格: %d\n", k);
    printf("数字: %d\n", m);
    printf("其他: %d\n", n);
}

得不到预期结果
搜索更多相关主题的帖子: 好久不见 
2011-09-02 07:26
博士无双
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2011-7-5
收藏
得分:2 
else if(*p = ' ')
应该写成 else if(*p == ' ')
还有 scanf("%s", p);应该只读到空格处便结束,应该用一循环
while(*p!='\0')
2011-09-02 10:30
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 


f涵数你昨调用?
你要调用又定在下面,前面加一个前置声名先吧。
2011-09-02 10:58
Heart→M鹏
Rank: 2
等 级:论坛游民
帖 子:80
专家分:94
注 册:2011-5-13
收藏
得分:0 
2楼牛……
2011-09-02 11:05
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

我的意思在前面加个涵数声明。
void g(void);
void f(void);//没有这个有可能会报错。
int main(void)
{
    f();
    return 0;
}
void f(void)
{
    g();
}
void g(void)
{
    ;
}
意思是声明与顺序的关系。
不然有可能会出错。



[ 本帖最后由 cosam 于 2011-9-2 11:41 编辑 ]
2011-09-02 11:29
zh77
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:84
专家分:22
注 册:2011-8-5
收藏
得分:0 
回复 5楼 cosam
我加了  在主函数里面
2011-09-03 09:21
zh77
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:84
专家分:22
注 册:2011-8-5
收藏
得分:0 
回复 2楼 博士无双
  好的 谢谢  我试下
2011-09-03 09:21
zh77
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:84
专家分:22
注 册:2011-8-5
收藏
得分:0 
回复 2楼 博士无双
表示不懂
2011-09-03 09:28
神马都浮云
Rank: 2
等 级:论坛游民
帖 子:13
专家分:15
注 册:2011-7-11
收藏
得分:0 
scanf("%s", p);
把这句改成  gets(p);
2011-09-03 11:59
神马都浮云
Rank: 2
等 级:论坛游民
帖 子:13
专家分:15
注 册:2011-7-11
收藏
得分:2 
else if(*p = ' ')
把=改成==
2011-09-03 12:06
快速回复:师父 好久不见,来看看哪里错了
数据加载中...
 
   



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

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