小编mur*_*cho的帖子

在 C 中从 Char 到 Int 的转换总是给出正值

我正在编写可用于生产的 C 语言,我需要快速找到字符数组中字符的频率。我试图删除断言调用以在强制转换期间检查正值。我的断言是多余的代码还是有必要?

    char input[] = "Hello World";
    int inputLength = sizeof(input)/ sizeof(char);
    int *frequencies = calloc(256, sizeof(int));
    for(int i = 0; i < inputLength-1; i++)
    {
        int value = (int) input[i];
        assert(value > -1);//Is this line redundant?
        frequencies[value] += 1;
    }
    printf("(%d)", inputLength);
    PrintFrequencies(frequencies);
    free(frequencies);
Run Code Online (Sandbox Code Playgroud)

c integer casting c-strings char

2
推荐指数
1
解决办法
104
查看次数

标签 统计

c ×1

c-strings ×1

casting ×1

char ×1

integer ×1