| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 724 人关注过本帖
标题:一个看不懂的错误..
只看楼主 加入收藏
maxam0128
Rank: 2
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-10-9
结帖率:75%
收藏
 问题点数:0 回复次数:5 
一个看不懂的错误..
题目要求,输入一个字符串,然后统计字母,数字,空格和其他字符的个数,要求可以连续测试..

#include<stdio.h>
int main()
{
    int z,s,k,q,i;
    char a[100],c;        
    while(gets (a)!=EOF)
    {
        i=0;z=0;s=0;k=0;q=0;
        while(a[i]!='\0')
        {
            if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
            z++;
            else if(a[i]>=0&&a[i]<=9)
            s++;
            else if(a[i]==' ')
            k++;
            else
            q++;
            i++;
        }
        printf("%d %d %d %d\n",z,s,k,q);
    }
    return(0);
}
为什么我运行总是有一个forbids bewteen comparison bewteen pointer and integer这样一个错误...
这个错误看不太懂.
搜索更多相关主题的帖子: 测试 统计 include 字符串 
2011-10-30 19:12
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 maxam0128
else if(a[i]>='0'&&a[i]<='9')

总有那身价贱的人给作业贴回复完整的代码
2011-10-30 19:22
maxam0128
Rank: 2
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-10-9
收藏
得分:0 
回复 2楼 embed_xuel
主要错误是while(gets(a)!=EOF),这里运行不能通过...
2011-10-30 19:26
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
while(gets (a)!=EOF)  永远也不会等于EOF 当你输入ctrl+z的时候gets返回了个NULL

                                         
===========深入<----------------->浅出============
2011-10-30 20:01
wangshui125
Rank: 2
等 级:论坛游民
帖 子:28
专家分:36
注 册:2011-10-25
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    int z,s,k,q,i;
    char a[100],c;
    do{
    printf("请输入字符串:") ;
    gets(a);      
    i=0;z=0;s=0;k=0;q=0;
    while(a[i]!='\0')
        {
            if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
            z++;
            else if(a[i]>='0'&&a[i]<='9')
            s++;
            else if(a[i]==' ')
            k++;
            else
            q++;
            i++;
        }
        printf("字母=%d 数字=%d 空格=%d 其他=%d\n",z,s,k,q);
        printf("是否继续?(是y/y,否n/N)\n");
        scanf("%c",&c);
        getchar();
        }while(c=='y'||c=='Y');
    return 0;
}
2011-10-30 20:02
maxam0128
Rank: 2
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-10-9
收藏
得分:0 
回复 4楼 laoyang103
EOF好像多组测试而且是不定数目的测试的时候可以用的..至于在哪里出现的错误我就不知道怎么回事了...
2011-10-30 22:04
快速回复:一个看不懂的错误..
数据加载中...
 
   



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

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