c++ - 使用 cctype 库搜索函数以查找范围内数字的字符数

标签 c++ count numbers range c-strings

试图解决一位讲师给我的问题,但我无法理解如何正确调用它。

我得到了一个链接到测试驱动程序的函数,我的目标是使用 cstring 库通过此函数在随机生成的字符串对象中查找 0-9 范围内的任何数字。

int countDigits(char * const line) {return 0;}

到目前为止,这是我所拥有的:

int countDigits(char * const line)
{

    int i, index;

    index = -1;
    found = false;
    i = 0;
    while (i < *line && !found)
    {
        if (*line > 0 && *line < 9)
            index++;
    }
    return 0;
}

我的代码不是很好,目前只会导致无限循环和失败,非常感谢任何帮助。

最佳答案

嗯,你的函数有几个问题。

  • 你想让它返回位数,但无论如何它都返回0
  • found永远不会设置为 false 以外的任何值,因此禁止 while 循环停止
  • 还有比较i<*line对我来说没有多大意义,我想你想检查行尾。也许你会想寻找一个空终止符“\0”(这里再次 i 永远不会设置为除 0 之外的任何其他值)
  • 而且,如果你想比较单个字符,你应该查找 ASCII code您要比较的字符的数量(数字 0-9 不等于代码 0-9)

希望这是改进您的功能的开始。

关于c++ - 使用 cctype 库搜索函数以查找范围内数字的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36414560/

相关文章:

c++ - 为 iOS7 编译 BlueZ?

c++ - 结构成员的限制值

c++ - QTcpSocket 和 TCP 填充

具有多个条件的 Excel 数组计数频率

mysql - 如果它通过类似的方法mysql,则计算行数

javascript - 预期数字,但返回字符串

c++ - 未解析的外部符号 D3DXSaveSurfaceToFileW

sql - 计算表计数时如何添加缺失的日期

Python 数字金字塔

c - 如何从C中的 float 中提取小数部分?