注册 登录
编程论坛 VC++/MFC

使用指针计算字符串中数字,字母,空格以及其他字符的数目

尹金魁2031 发布于 2013-05-08 20:47, 954 次点击
#include<iostream>
using namespace std;
int main()
{
    int letter=0,digit=0,space=0,other=0,i;
    char *p,s[37];
    cout<<"input a string:";
    while((s[i]=getchar())!='\n') i++;
    p=&s[0];
    while(*p!='\n')
    {
        if(('A'<=*p)&&(*p<='Z'))
            ++letter;
        else if(('a'<=*p)&&(*p<='z'))
            ++letter;
        else if((*p>='0')&&(*p<='9'))
            ++digit;
        else if(*p==' ')
            ++space;
        else  ++other;
        p++;
    }
    cout<<"letter:"<<letter<<'\t'<<"digit:"<<digit<<'\t'<<"space:"<<space<<'\t'<<"other:"<<other<<endl;
    return 0;
}
此代码,编译时通过,但是在运行时,数完字符串,他就突然中断了。请教大神帮助!
5 回复
#2
邓士林2013-05-08 20:55
int letter=0,digit=0,space=0,other=0,i=0;
i的值没有初始化
#3
yuccn2013-05-08 20:57
int main()
{
    int letter=0,digit=0,space=0,other=0,i = 0;

红色的那个 ,记得初始化
#4
尹金魁20312013-05-09 08:47
真是神呀!一眼看破,我们寝室为你骄傲!
#5
笛c2013-05-18 17:35
我不会写呀!你把答案给我了,呵呵,copy一下
#6
笛c2013-05-18 17:41
求引用呀雅安啊啊啊啊啊啊
1