搜索C字符串中的字符数

时间:2016-04-05 02:53:21

标签: count character c-strings

我的任务是计算C字符串中有多少个字符。输入是由我无法访问的测试驱动程序提供的,但我的函数应该访问数据并确定从az和AZ到多少字符,但我的程序一直在失败,我不知道我是什么做错了。

int countLetters(char * const line)
{
    char index = *line;
    int count;

   while(!index)
    {
        if (index >= 'a' && index <= 'z')
            count++;

        if (index >= 'A' && index <= 'Z')
            count++;
    }
    return count;

}

1 个答案:

答案 0 :(得分:0)

试试这个

int countLetters(char * const line)
{
    int index = 0;
    int count = 0;

    while(line[index])
    {
        if (line[index] >= 'a' && line[index] <= 'z')
            count++;

        if (line[index] >= 'A' && line[index] <= 'Z')
            count++;

        index++;
    }
    return count;
}

这是你做错了什么 第一个:您指定了char index = * line; 使你的索引成为字符串中的第一个字符,这是错误的,因为索引假设代表位置,而不是字符
第二:你没有提供任何增加索引的机制来循环字符串
第三:你没有初始化你的计数变量

  

注意:line[index]*(line + index)相同   你的line是一个指针,指向字符串
中的第一个字符   所以line + index是指向字符串
中的索引第n个字符的指针   通过在前面添加一个带有*的指针,你说我想知道这个指针指向的内容